From ff4125f21b85a00352aadca74bcc5350883cfb22 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:14:55 -0400 Subject: [PATCH 01/43] update docs python version --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2973d20499..3397c64304 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -448,7 +448,7 @@ jobs: docker: # specify the version you desire here # use `-browsers` prefix for selenium tests, for example, `3.9-browsers` - - image: cimg/python:3.9-browsers + - image: cimg/python:3.10-browsers steps: - add_ssh_keys: From 44ffec4f9e53ad11f75ce912118a5d4a3b30cbe5 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:25:42 -0400 Subject: [PATCH 02/43] dependencies update --- doc/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index cfca73c8dc..c475906c83 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -4,9 +4,9 @@ ipywidgets==7.7.2 jupyter-client<7 jupyter notebook -pandas==1.2.0 +pandas==2.2.2 statsmodels==0.12.1 -scipy==1.5.4 +scipy==1.13.0 patsy==0.5.1 numpy==1.19.5 plotly-geo From f4d6c760d3c480d2166b42dfcd618e89ffb31a2a Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:28:20 -0400 Subject: [PATCH 03/43] update statsmodels version --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index c475906c83..76dc546119 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -5,7 +5,7 @@ jupyter-client<7 jupyter notebook pandas==2.2.2 -statsmodels==0.12.1 +statsmodels==0.14.2 scipy==1.13.0 patsy==0.5.1 numpy==1.19.5 From 07df63d0b10159b74b06829c301d049f42ab698b Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:29:59 -0400 Subject: [PATCH 04/43] update shapely version --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 76dc546119..c308fb8faa 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -13,7 +13,7 @@ plotly-geo igraph geopandas==0.8.1 pyshp==2.1.2 -shapely==1.7.1 +shapely==2.0.4 psutil requests networkx==2.6.3 From 7b4a8da606e279d706fb7970e8bc1ba5581c8907 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:34:48 -0400 Subject: [PATCH 05/43] update numpy version --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index c308fb8faa..f0b2c0707f 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -8,7 +8,7 @@ pandas==2.2.2 statsmodels==0.14.2 scipy==1.13.0 patsy==0.5.1 -numpy==1.19.5 +numpy==1.26.4 plotly-geo igraph geopandas==0.8.1 From 2e0654dd396e6e8bebfbed4d7ff3f2c3305b145b Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:41:52 -0400 Subject: [PATCH 06/43] Update requirements.txt --- doc/requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index f0b2c0707f..452f9e1b59 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -7,18 +7,18 @@ notebook pandas==2.2.2 statsmodels==0.14.2 scipy==1.13.0 -patsy==0.5.1 +patsy==0.5.6 numpy==1.26.4 plotly-geo igraph -geopandas==0.8.1 -pyshp==2.1.2 +geopandas==0.14.3 +pyshp==2.3.1 shapely==2.0.4 psutil requests networkx==2.6.3 squarify -scikit-image==0.18.1 +scikit-image==0.23.2 scikit-learn sphinx==3.5.4 sphinxcontrib-applehelp==1.0.2 From 589b30b220e495a4182940fb6b6afbf0f3225661 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 15:46:39 -0400 Subject: [PATCH 07/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 452f9e1b59..703ac8d253 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -16,7 +16,7 @@ pyshp==2.3.1 shapely==2.0.4 psutil requests -networkx==2.6.3 +networkx==3.3 squarify scikit-image==0.23.2 scikit-learn From d844cdd288d28583bec9b46010270a2de1c9ab4e Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 16:58:14 -0400 Subject: [PATCH 08/43] update dependencies and various code updates --- binder/requirements.txt | 6 +++--- doc/python/3d-volume.md | 2 +- doc/python/axes.md | 24 ++++++++++++++---------- doc/python/box-plots.md | 12 ++++++------ doc/python/icicle-charts.md | 9 +++++---- doc/python/mixed-subplots.md | 4 ++-- doc/python/ml-regression.md | 3 +-- doc/python/sunburst-charts.md | 9 +++++---- doc/python/treemaps.md | 17 +++++++++-------- doc/requirements.txt | 5 ++--- 10 files changed, 48 insertions(+), 43 deletions(-) diff --git a/binder/requirements.txt b/binder/requirements.txt index 330d16a38a..506f2922ce 100644 --- a/binder/requirements.txt +++ b/binder/requirements.txt @@ -2,10 +2,10 @@ jupytext plotly==5.21.0 jupyter notebook -pandas==1.2.0 -statsmodels==0.12.1 +pandas==2.2.2 +statsmodels==0.14.2 scipy -patsy==0.5.1 +patsy==0.5.6 numpy plotly-geo psutil diff --git a/doc/python/3d-volume.md b/doc/python/3d-volume.md index 5dde49cf63..c92bd4fb47 100644 --- a/doc/python/3d-volume.md +++ b/doc/python/3d-volume.md @@ -86,7 +86,7 @@ np.random.seed(0) l = 30 X, Y, Z = np.mgrid[:l, :l, :l] vol = np.zeros((l, l, l)) -pts = (l * np.random.rand(3, 15)).astype(np.int) +pts = (l * np.random.rand(3, 15)).astype(int) vol[tuple(indices for indices in pts)] = 1 from scipy import ndimage vol = ndimage.gaussian_filter(vol, 4) diff --git a/doc/python/axes.md b/doc/python/axes.md index 9c4fd1acbe..9a6ba71bbd 100644 --- a/doc/python/axes.md +++ b/doc/python/axes.md @@ -367,7 +367,7 @@ fig.show() *New in 5.19* -If `tickangle` is not explicitly set, its default value is `auto`, meaning if the label needs to be rotated to avoid labels overlapping, it will rotate by either 30 or 90 degrees. Using `autotickangles`, you can also specify a list of angles for `tickangle` to use. If `tickangle` is `auto` and you provide a list of angles to `autotickangles`, the label angle will be set to the first value in the list that prevents overlap. +If `tickangle` is not explicitly set, its default value is `auto`, meaning if the label needs to be rotated to avoid labels overlapping, it will rotate by either 30 or 90 degrees. Using `autotickangles`, you can also specify a list of angles for `tickangle` to use. If `tickangle` is `auto` and you provide a list of angles to `autotickangles`, the label angle will be set to the first value in the list that prevents overlap. ```python import plotly.express as px @@ -390,14 +390,18 @@ Here is an example. import plotly.graph_objects as go import pandas as pd -# Load and filter Apple stock data for 2016 apple_df = pd.read_csv( - "https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv", - parse_dates=["Date"], - index_col="Date" + "https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv" ) -apple_df_2016 = apple_df["2016"] +# Convert 'Date' column to datetime format +apple_df['Date'] = pd.to_datetime(apple_df['Date']) + +# Set 'Date' column as index +apple_df.set_index('Date', inplace=True) + +# Filter for 2016 +apple_df_2016 = apple_df.loc['2016'] # Create figure and add line fig = go.Figure() @@ -599,7 +603,7 @@ fig.show() *New in 5.17* -You can also set just a lower or upper bound manually and have autorange applied to the other bound by setting it to `None`. In the following example, we set a an upper bound of 4.5 on the x axes, while specifying `None` for the lower bound, meaning it will use autorange. On the y axes, we set the lower bound, and use `None` for the upper bound, meaning that uses autorange. +You can also set just a lower or upper bound manually and have autorange applied to the other bound by setting it to `None`. In the following example, we set a an upper bound of 4.5 on the x axes, while specifying `None` for the lower bound, meaning it will use autorange. On the y axes, we set the lower bound, and use `None` for the upper bound, meaning that uses autorange. ```python import plotly.express as px @@ -857,7 +861,7 @@ fig.show() #### nonnegative, tozero, and normal Rangemode -When you don't specify a range, autorange is used. It's also used for bounds set to `None` when providing a `range`. +When you don't specify a range, autorange is used. It's also used for bounds set to `None` when providing a `range`. The axis auto-range calculation logic can be configured using the `rangemode` axis parameter. @@ -898,7 +902,7 @@ fig.update_xaxes(autorangeoptions=dict(maxallowed=5)) fig.show() ``` -##### Clip Minimum and Maximum +##### Clip Minimum and Maximum You can also clip an axis range at a specific maximum or minimum value with `autorangeoptions.clipmax` and `autorangeoptions.clipmin`. @@ -916,7 +920,7 @@ fig.show() ##### Specify Values to be Included -Use `autorangeoptions.include` to specify a value that should always be included within the calculated autorange. In this example, we specify that for the autorange calculated on the x-axis, 5 should be included. +Use `autorangeoptions.include` to specify a value that should always be included within the calculated autorange. In this example, we specify that for the autorange calculated on the x-axis, 5 should be included. ```python import plotly.express as px diff --git a/doc/python/box-plots.md b/doc/python/box-plots.md index a22762c075..dbaca72909 100644 --- a/doc/python/box-plots.md +++ b/doc/python/box-plots.md @@ -458,12 +458,12 @@ x_data = ['Carmelo Anthony', 'Dwyane Wade', N = 50 -y0 = (10 * np.random.randn(N) + 30).astype(np.int) -y1 = (13 * np.random.randn(N) + 38).astype(np.int) -y2 = (11 * np.random.randn(N) + 33).astype(np.int) -y3 = (9 * np.random.randn(N) + 36).astype(np.int) -y4 = (15 * np.random.randn(N) + 31).astype(np.int) -y5 = (12 * np.random.randn(N) + 40).astype(np.int) +y0 = (10 * np.random.randn(N) + 30).astype(int) +y1 = (13 * np.random.randn(N) + 38).astype(int) +y2 = (11 * np.random.randn(N) + 33).astype(int) +y3 = (9 * np.random.randn(N) + 36).astype(int) +y4 = (15 * np.random.randn(N) + 31).astype(int) +y5 = (12 * np.random.randn(N) + 40).astype(int) y_data = [y0, y1, y2, y3, y4, y5] diff --git a/doc/python/icicle-charts.md b/doc/python/icicle-charts.md index 540f9f7e82..dc7908a93b 100644 --- a/doc/python/icicle-charts.md +++ b/doc/python/icicle-charts.md @@ -305,7 +305,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_all_trees = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) + df_trees = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -317,11 +317,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_all_trees = df_all_trees.append(df_tree, ignore_index=True) + df_trees.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), - color=df[color_columns[0]].sum() / df[color_columns[1]].sum())) - df_all_trees = df_all_trees.append(total, ignore_index=True) + color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) + df_trees.append(total) + df_all_trees = pd.concat(df_trees, ignore_index=True) return df_all_trees diff --git a/doc/python/mixed-subplots.md b/doc/python/mixed-subplots.md index 13737b5f6d..24ee5123be 100644 --- a/doc/python/mixed-subplots.md +++ b/doc/python/mixed-subplots.md @@ -55,8 +55,8 @@ df = pd.read_csv( ) # frequency of Country -freq = df -freq = freq.Country.value_counts().reset_index().rename(columns={"index": "x"}) +freq = df['Country'].value_counts().reset_index() +freq.columns = ['x', 'Country'] # read in 3d volcano surface data df_v = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/volcano.csv") diff --git a/doc/python/ml-regression.md b/doc/python/ml-regression.md index b8be347943..c74b49e92b 100644 --- a/doc/python/ml-regression.md +++ b/doc/python/ml-regression.md @@ -120,7 +120,7 @@ from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split df = px.data.tips() -X = df.total_bill[:, None] +X = df.total_bill.to_numpy()[:, None] X_train, X_test, y_train, y_test = train_test_split(X, df.tip, random_state=0) model = LinearRegression() @@ -129,7 +129,6 @@ model.fit(X_train, y_train) x_range = np.linspace(X.min(), X.max(), 100) y_range = model.predict(x_range.reshape(-1, 1)) - fig = go.Figure([ go.Scatter(x=X_train.squeeze(), y=y_train, name='train', mode='markers'), go.Scatter(x=X_test.squeeze(), y=y_test, name='test', mode='markers'), diff --git a/doc/python/sunburst-charts.md b/doc/python/sunburst-charts.md index e22f9f9dd7..e4ed65bc9b 100644 --- a/doc/python/sunburst-charts.md +++ b/doc/python/sunburst-charts.md @@ -355,7 +355,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_all_trees = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) + df_trees = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -367,11 +367,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_all_trees = df_all_trees.append(df_tree, ignore_index=True) + df_trees.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), - color=df[color_columns[0]].sum() / df[color_columns[1]].sum())) - df_all_trees = df_all_trees.append(total, ignore_index=True) + color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) + df_trees.append(total) + df_all_trees = pd.concat(df_trees, ignore_index=True) return df_all_trees diff --git a/doc/python/treemaps.md b/doc/python/treemaps.md index 98fbeadcd4..037240dff1 100644 --- a/doc/python/treemaps.md +++ b/doc/python/treemaps.md @@ -90,7 +90,7 @@ When the argument of `color` corresponds to non-numerical data, discrete colors ```python import plotly.express as px df = px.data.tips() -fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], +fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], values='total_bill', color='day') fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) fig.show() @@ -101,7 +101,7 @@ In the example below the color of Saturday and Sunday sectors is the same as Din ```python import plotly.express as px df = px.data.tips() -fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], +fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], values='total_bill', color='time') fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) fig.show() @@ -114,7 +114,7 @@ For more information about discrete colors, see the [dedicated page](/python/dis ```python import plotly.express as px df = px.data.tips() -fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], +fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], values='total_bill', color='time', color_discrete_map={'(?)':'lightgrey', 'Lunch':'gold', 'Dinner':'darkblue'}) fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) @@ -241,7 +241,7 @@ fig = go.Figure(go.Treemap( labels = labels, values = values, parents = parents, - marker_colors = ["pink", "royalblue", "lightgray", "purple", + marker_colors = ["pink", "royalblue", "lightgray", "purple", "cyan", "lightgray", "lightblue", "lightgreen"] )) @@ -316,7 +316,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_all_trees = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) + df_trees = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -328,11 +328,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_all_trees = df_all_trees.append(df_tree, ignore_index=True) + df_trees.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), - color=df[color_columns[0]].sum() / df[color_columns[1]].sum())) - df_all_trees = df_all_trees.append(total, ignore_index=True) + color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) + df_trees.append(total) + df_all_trees = pd.concat(df_trees, ignore_index=True) return df_all_trees diff --git a/doc/requirements.txt b/doc/requirements.txt index 703ac8d253..2f3f958d5f 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -31,7 +31,7 @@ sphinx_bootstrap_theme recommonmark pathlib python-frontmatter -datashader==0.14.4 +datashader==0.16.1 pyarrow cufflinks==0.17.3 kaleido @@ -42,6 +42,5 @@ nbconvert==5.6.1 orjson dash-bio jinja2<3.1 -parmed<=3.4.4; python_version<"3.8" -dask==2022.2.0 +dask==2024.4.2 polars From b4aee4b1b01c57a656a924b07a8d5ea347a76e22 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 25 Apr 2024 18:40:11 -0400 Subject: [PATCH 09/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 2f3f958d5f..9685150ba5 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -42,5 +42,5 @@ nbconvert==5.6.1 orjson dash-bio jinja2<3.1 -dask==2024.4.2 +dask==2023.12.1 polars From ee84681b35df034836c43fbafc54b4d3b15ec035 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 26 Apr 2024 09:58:44 -0400 Subject: [PATCH 10/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 9685150ba5..bf965190d4 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -42,5 +42,5 @@ nbconvert==5.6.1 orjson dash-bio jinja2<3.1 -dask==2023.12.1 +dask==2023.4.0 polars From 944a73aa82687595293fb567beb83b9176c94ed4 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 26 Apr 2024 10:16:54 -0400 Subject: [PATCH 11/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index bf965190d4..81c6b41d8f 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -42,5 +42,5 @@ nbconvert==5.6.1 orjson dash-bio jinja2<3.1 -dask==2023.4.0 +dask==2022.2.0 polars From 99e65518a6729f2976d66b648b7619605f8d9bc4 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 26 Apr 2024 10:35:17 -0400 Subject: [PATCH 12/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 81c6b41d8f..828dae3c90 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -31,7 +31,7 @@ sphinx_bootstrap_theme recommonmark pathlib python-frontmatter -datashader==0.16.1 +datashader==0.14.4 pyarrow cufflinks==0.17.3 kaleido From b5f72fb5b6c2f26cedb036c547db5bec067105c2 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 1 May 2024 10:59:25 -0400 Subject: [PATCH 13/43] Update requirements.txt --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 828dae3c90..f216399c46 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -42,5 +42,5 @@ nbconvert==5.6.1 orjson dash-bio jinja2<3.1 -dask==2022.2.0 +dask==2024.4.2 polars From a0c4dcbd8aa35cba986e4dabdce89a15c6b8d227 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 1 May 2024 11:38:46 -0400 Subject: [PATCH 14/43] update datashader version add specific xarray version --- doc/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index f216399c46..a175baec1d 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -31,7 +31,7 @@ sphinx_bootstrap_theme recommonmark pathlib python-frontmatter -datashader==0.14.4 +datashader==0.16.1 pyarrow cufflinks==0.17.3 kaleido @@ -44,3 +44,4 @@ dash-bio jinja2<3.1 dask==2024.4.2 polars +xarray==2022.9.0 From b6d5ca51609365138a9b938531ef00d475109ede Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 1 May 2024 13:53:40 -0400 Subject: [PATCH 15/43] update release process --- release.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release.md b/release.md index bc879a0170..f8e1c50c08 100644 --- a/release.md +++ b/release.md @@ -37,7 +37,7 @@ Manually update the versions to `X.Y.Z` in the files specified below. + update the release date - `README.md` + this must be done at this point because the README gets baked into PyPI - - `plotly/_widget_version.py`: + - `packages/python/plotly/plotly/_widget_version.py`: + Update `__frontend_version__` to `^X.Y.Z` (Note the `^` prefix) - `packages/javascript/jupyterlab-plotly/package.json` + Update `"version"` to `X.Y.Z` @@ -65,7 +65,7 @@ The `full_build` job in the `release_build` workflow in CircleCI produces a tarb To locally install the PyPI dist, make sure you have an environment with JupyterLab 3 installed (maybe one created with `conda create -n condatest python=3.10 jupyterlab ipywidgets pandas`): -- `tar xzf all.tgz` +- `tar xzf output.tgz` - `pip uninstall plotly` - `conda uninstall plotly` (just in case!) - `pip install path/to/output/dist/plotly-X.Y.X-py3-none-any.whl` From 9fdd6b60e5a0b3f833773bb8887e9a8cf9552ed3 Mon Sep 17 00:00:00 2001 From: Greg Wilson Date: Tue, 7 May 2024 10:46:36 -0400 Subject: [PATCH 16/43] build+docs: use Python 3.8 - 3.11 and pin pytest 8.1.1 - `conda create -n plotly-dev python` currently gives Python 3.12.3. - `pytest -v packages/python/plotly/plotly/tests/` then fails with `ModuleNotFoundError: No module named 'imp'`. - `pip install imp` fails: the `imp` module was deprecated in Python 3.11 and has been removed in Python 3.12. - So update `contributing.md` to specify `conda create -n plotly-dev python=3.11` - But now `pytest` fails - `File "", line 1072, in _find_spec` - `AttributeError: 'AssertionRewritingHook' object has no attribute 'find_spec'` - Problem was `pytest==3.5.1` in `packages/python/plotly/optional-requirements.txt` - Update to `pytest==8.1.1` and `pytest` runs - Some tests are failing (orca problems, `statsmodels` not installed, etc.) - Will fix these in separate PRs - Update `contributing.md` to state that we've tested changes against Python 3.8-3.11 - Specifically 3.8.19, 3.9.19, 3.10.14, and 3.11.9 on MacOS Sonoma 14.4.1 - Update `CHANGELOG.md` --- CHANGELOG.md | 5 +++++ contributing.md | 7 +++++-- packages/python/plotly/optional-requirements.txt | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adad2f3cba..da08517d6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [5.23.0] - TBD + +### Updated +- Specify Python version 3.8-3.11 for development virtual environments and pin `pytest` at version 8.1.1 to match. + ## [5.22.0] - 2024-05-01 ### Updated diff --git a/contributing.md b/contributing.md index c7b271cfa7..15c8560bc5 100644 --- a/contributing.md +++ b/contributing.md @@ -125,13 +125,16 @@ learn and become confident about git, like http://try.github.io/. ### Create a virtual environment for plotly development -You can use either [conda][conda-env] or [virtualenv][virtualenv] to create a virtual environment for plotly development, e.g. +You can use either [conda][conda-env] or [virtualenv][virtualenv] to create a virtual environment for plotly development, e.g.: ```bash -conda create -n plotly-dev python +conda create -n plotly-dev python=3.11 conda activate plotly-dev ``` +As of May 2024 our dependencies have been tested against Python versions 3.8 to 3.11. +We will support Python 3.12 and higher versions soon. + [conda-env]: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-with-commands [virtualenv]: http://docs.python-guide.org/en/latest/dev/virtualenvs/ diff --git a/packages/python/plotly/optional-requirements.txt b/packages/python/plotly/optional-requirements.txt index 3a02a44062..ba3c054912 100644 --- a/packages/python/plotly/optional-requirements.txt +++ b/packages/python/plotly/optional-requirements.txt @@ -14,7 +14,7 @@ numpy ## testing dependencies ## coverage==4.3.1 mock==2.0.0 -pytest==3.5.1 +pytest==8.1.1 backports.tempfile==1.0 xarray pytz From b1888adeb4ec834a95b9410856cbebe1b2394f01 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 13 May 2024 09:57:32 -0400 Subject: [PATCH 17/43] make var name clearer --- doc/python/icicle-charts.md | 8 ++++---- doc/python/sunburst-charts.md | 8 ++++---- doc/python/treemaps.md | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/python/icicle-charts.md b/doc/python/icicle-charts.md index dc7908a93b..38569a7ea0 100644 --- a/doc/python/icicle-charts.md +++ b/doc/python/icicle-charts.md @@ -305,7 +305,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_trees = [] + df_list = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -317,12 +317,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_trees.append(df_tree) + df_list.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) - df_trees.append(total) - df_all_trees = pd.concat(df_trees, ignore_index=True) + df_list.append(total) + df_all_trees = pd.concat(df_list, ignore_index=True) return df_all_trees diff --git a/doc/python/sunburst-charts.md b/doc/python/sunburst-charts.md index e4ed65bc9b..06cfb38e57 100644 --- a/doc/python/sunburst-charts.md +++ b/doc/python/sunburst-charts.md @@ -355,7 +355,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_trees = [] + df_list = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -367,12 +367,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_trees.append(df_tree) + df_list.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) - df_trees.append(total) - df_all_trees = pd.concat(df_trees, ignore_index=True) + df_list.append(total) + df_all_trees = pd.concat(df_list, ignore_index=True) return df_all_trees diff --git a/doc/python/treemaps.md b/doc/python/treemaps.md index 037240dff1..6671698cb9 100644 --- a/doc/python/treemaps.md +++ b/doc/python/treemaps.md @@ -316,7 +316,7 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): Levels are given starting from the bottom to the top of the hierarchy, ie the last level corresponds to the root. """ - df_trees = [] + df_list = [] for i, level in enumerate(levels): df_tree = pd.DataFrame(columns=['id', 'parent', 'value', 'color']) dfg = df.groupby(levels[i:]).sum() @@ -328,12 +328,12 @@ def build_hierarchical_dataframe(df, levels, value_column, color_columns=None): df_tree['parent'] = 'total' df_tree['value'] = dfg[value_column] df_tree['color'] = dfg[color_columns[0]] / dfg[color_columns[1]] - df_trees.append(df_tree) + df_list.append(df_tree) total = pd.Series(dict(id='total', parent='', value=df[value_column].sum(), color=df[color_columns[0]].sum() / df[color_columns[1]].sum()), name=0) - df_trees.append(total) - df_all_trees = pd.concat(df_trees, ignore_index=True) + df_list.append(total) + df_all_trees = pd.concat(df_list, ignore_index=True) return df_all_trees From f1522cddfb06b1c4c6b7640ffba0513d86bf0161 Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Fri, 17 May 2024 11:14:26 -0400 Subject: [PATCH 18/43] handle extras in IntegerValidator --- .../plotly/_plotly_utils/basevalidators.py | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/packages/python/plotly/_plotly_utils/basevalidators.py b/packages/python/plotly/_plotly_utils/basevalidators.py index 71c01b4116..e0ce3e4f2d 100644 --- a/packages/python/plotly/_plotly_utils/basevalidators.py +++ b/packages/python/plotly/_plotly_utils/basevalidators.py @@ -824,13 +824,21 @@ class IntegerValidator(BaseValidator): "dflt", "min", "max", + "extras", "arrayOk" ] }, """ def __init__( - self, plotly_name, parent_name, min=None, max=None, array_ok=False, **kwargs + self, + plotly_name, + parent_name, + min=None, + max=None, + extras=None, + array_ok=False, + **kwargs, ): super(IntegerValidator, self).__init__( plotly_name=plotly_name, parent_name=parent_name, **kwargs @@ -855,6 +863,7 @@ def __init__( else: self.has_min_max = False + self.extras = extras if extras is not None else [] self.array_ok = array_ok def description(self): @@ -878,6 +887,16 @@ def description(self): ) ) + # Extras + if self.extras: + desc = ( + desc + + ( + """ + OR exactly one of {extras} (e.g. '{eg_extra}')""" + ).format(extras=self.extras, eg_extra=self.extras[-1]) + ) + if self.array_ok: desc = ( desc @@ -891,6 +910,8 @@ def validate_coerce(self, v): if v is None: # Pass None through pass + elif v in self.extras: + return v elif self.array_ok and is_homogeneous_array(v): np = get_module("numpy") v_array = copy_to_readonly_numpy_array( @@ -917,14 +938,20 @@ def validate_coerce(self, v): v = v_array elif self.array_ok and is_simple_array(v): # Check integer type - invalid_els = [e for e in v if not isinstance(e, int)] + invalid_els = [ + e for e in v if not isinstance(e, int) and e not in self.extras + ] if invalid_els: self.raise_invalid_elements(invalid_els[:10]) # Check min/max if self.has_min_max: - invalid_els = [e for e in v if not (self.min_val <= e <= self.max_val)] + invalid_els = [ + e + for e in v + if not (self.min_val <= e <= self.max_val) and e not in self.extras + ] if invalid_els: self.raise_invalid_elements(invalid_els[:10]) From 9c8326097932a4fb25e2efe2c3027bb2f6ab0589 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 31 May 2024 16:46:54 -0400 Subject: [PATCH 19/43] Update config.yml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3397c64304..5a8a6e7acc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -374,7 +374,7 @@ jobs: full_build: docker: - - image: continuumio/miniconda3 + - image: continuumio/miniconda3:24.3.0-0 environment: LANG: en_US.UTF-8 resource_class: large From d3c49ad6d13be7a14a17466a2a1043870ddecf7e Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 3 Jun 2024 10:23:00 -0400 Subject: [PATCH 20/43] Update config.yml --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5a8a6e7acc..e16e0e9fd7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -599,3 +599,4 @@ workflows: - python_38_orca - python_39_percy - build-doc + From bc456cc9ef9d03209ff443e23332834c7506340c Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 5 Jun 2024 12:57:19 -0400 Subject: [PATCH 21/43] update plotly.js to v2.33.0 --- .../jupyterlab-plotly/package-lock.json | 30 +- .../javascript/jupyterlab-plotly/package.json | 2 +- .../plotly/codegen/resources/plot-schema.json | 14150 ++++++++++++++-- .../python/plotly/plotly/graph_objs/_bar.py | 72 + .../plotly/plotly/graph_objs/_carpet.py | 15 + .../plotly/plotly/graph_objs/_contour.py | 15 + .../plotly/plotly/graph_objs/_funnel.py | 72 + .../plotly/plotly/graph_objs/_funnelarea.py | 48 + .../plotly/plotly/graph_objs/_heatmap.py | 15 + .../plotly/plotly/graph_objs/_histogram.py | 45 + .../plotly/plotly/graph_objs/_histogram2d.py | 15 + .../plotly/graph_objs/_histogram2dcontour.py | 15 + .../plotly/plotly/graph_objs/_icicle.py | 72 + .../plotly/plotly/graph_objs/_layout.py | 30 + .../plotly/plotly/graph_objs/_parcats.py | 30 + .../plotly/plotly/graph_objs/_parcoords.py | 45 + .../python/plotly/plotly/graph_objs/_pie.py | 96 + .../plotly/plotly/graph_objs/_sankey.py | 15 + .../plotly/plotly/graph_objs/_scatter.py | 24 + .../plotly/graph_objs/_scattercarpet.py | 24 + .../plotly/plotly/graph_objs/_scattergeo.py | 24 + .../plotly/plotly/graph_objs/_scatterpolar.py | 24 + .../plotly/plotly/graph_objs/_scattersmith.py | 24 + .../plotly/graph_objs/_scatterternary.py | 24 + .../plotly/plotly/graph_objs/_sunburst.py | 72 + .../plotly/plotly/graph_objs/_treemap.py | 72 + .../plotly/plotly/graph_objs/_waterfall.py | 72 + .../plotly/graph_objs/bar/_hoverlabel.py | 24 + .../plotly/graph_objs/bar/_insidetextfont.py | 224 +- .../graph_objs/bar/_legendgrouptitle.py | 15 + .../plotly/graph_objs/bar/_outsidetextfont.py | 224 +- .../plotly/plotly/graph_objs/bar/_textfont.py | 224 +- .../plotly/graph_objs/bar/hoverlabel/_font.py | 224 +- .../graph_objs/bar/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/bar/marker/_colorbar.py | 30 + .../bar/marker/colorbar/_tickfont.py | 133 +- .../graph_objs/bar/marker/colorbar/_title.py | 15 + .../bar/marker/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/barpolar/_hoverlabel.py | 24 + .../graph_objs/barpolar/_legendgrouptitle.py | 15 + .../graph_objs/barpolar/hoverlabel/_font.py | 224 +- .../barpolar/legendgrouptitle/_font.py | 133 +- .../graph_objs/barpolar/marker/_colorbar.py | 30 + .../barpolar/marker/colorbar/_tickfont.py | 133 +- .../barpolar/marker/colorbar/_title.py | 15 + .../barpolar/marker/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/box/_hoverlabel.py | 24 + .../graph_objs/box/_legendgrouptitle.py | 15 + .../plotly/graph_objs/box/hoverlabel/_font.py | 224 +- .../graph_objs/box/legendgrouptitle/_font.py | 133 +- .../graph_objs/candlestick/_hoverlabel.py | 24 + .../candlestick/_legendgrouptitle.py | 15 + .../candlestick/hoverlabel/_font.py | 224 +- .../candlestick/legendgrouptitle/_font.py | 133 +- .../plotly/plotly/graph_objs/carpet/_aaxis.py | 30 + .../plotly/plotly/graph_objs/carpet/_baxis.py | 30 + .../plotly/plotly/graph_objs/carpet/_font.py | 133 +- .../graph_objs/carpet/_legendgrouptitle.py | 15 + .../graph_objs/carpet/aaxis/_tickfont.py | 133 +- .../plotly/graph_objs/carpet/aaxis/_title.py | 15 + .../graph_objs/carpet/aaxis/title/_font.py | 133 +- .../graph_objs/carpet/baxis/_tickfont.py | 133 +- .../plotly/graph_objs/carpet/baxis/_title.py | 15 + .../graph_objs/carpet/baxis/title/_font.py | 133 +- .../carpet/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/choropleth/_colorbar.py | 30 + .../graph_objs/choropleth/_hoverlabel.py | 24 + .../choropleth/_legendgrouptitle.py | 15 + .../choropleth/colorbar/_tickfont.py | 133 +- .../graph_objs/choropleth/colorbar/_title.py | 15 + .../choropleth/colorbar/title/_font.py | 133 +- .../graph_objs/choropleth/hoverlabel/_font.py | 224 +- .../choropleth/legendgrouptitle/_font.py | 133 +- .../graph_objs/choroplethmapbox/_colorbar.py | 30 + .../choroplethmapbox/_hoverlabel.py | 24 + .../choroplethmapbox/_legendgrouptitle.py | 15 + .../choroplethmapbox/colorbar/_tickfont.py | 133 +- .../choroplethmapbox/colorbar/_title.py | 15 + .../choroplethmapbox/colorbar/title/_font.py | 133 +- .../choroplethmapbox/hoverlabel/_font.py | 224 +- .../legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/cone/_colorbar.py | 30 + .../plotly/graph_objs/cone/_hoverlabel.py | 24 + .../graph_objs/cone/_legendgrouptitle.py | 15 + .../graph_objs/cone/colorbar/_tickfont.py | 133 +- .../plotly/graph_objs/cone/colorbar/_title.py | 15 + .../graph_objs/cone/colorbar/title/_font.py | 133 +- .../graph_objs/cone/hoverlabel/_font.py | 224 +- .../graph_objs/cone/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/contour/_colorbar.py | 30 + .../plotly/graph_objs/contour/_contours.py | 15 + .../plotly/graph_objs/contour/_hoverlabel.py | 24 + .../graph_objs/contour/_legendgrouptitle.py | 15 + .../plotly/graph_objs/contour/_textfont.py | 133 +- .../graph_objs/contour/colorbar/_tickfont.py | 133 +- .../graph_objs/contour/colorbar/_title.py | 15 + .../contour/colorbar/title/_font.py | 133 +- .../graph_objs/contour/contours/_labelfont.py | 133 +- .../graph_objs/contour/hoverlabel/_font.py | 224 +- .../contour/legendgrouptitle/_font.py | 133 +- .../graph_objs/contourcarpet/_colorbar.py | 30 + .../graph_objs/contourcarpet/_contours.py | 15 + .../contourcarpet/_legendgrouptitle.py | 15 + .../contourcarpet/colorbar/_tickfont.py | 133 +- .../contourcarpet/colorbar/_title.py | 15 + .../contourcarpet/colorbar/title/_font.py | 133 +- .../contourcarpet/contours/_labelfont.py | 133 +- .../contourcarpet/legendgrouptitle/_font.py | 133 +- .../graph_objs/densitymapbox/_colorbar.py | 30 + .../graph_objs/densitymapbox/_hoverlabel.py | 24 + .../densitymapbox/_legendgrouptitle.py | 15 + .../densitymapbox/colorbar/_tickfont.py | 133 +- .../densitymapbox/colorbar/_title.py | 15 + .../densitymapbox/colorbar/title/_font.py | 133 +- .../densitymapbox/hoverlabel/_font.py | 224 +- .../densitymapbox/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/funnel/_hoverlabel.py | 24 + .../graph_objs/funnel/_insidetextfont.py | 224 +- .../graph_objs/funnel/_legendgrouptitle.py | 15 + .../graph_objs/funnel/_outsidetextfont.py | 224 +- .../plotly/graph_objs/funnel/_textfont.py | 224 +- .../graph_objs/funnel/hoverlabel/_font.py | 224 +- .../funnel/legendgrouptitle/_font.py | 133 +- .../graph_objs/funnel/marker/_colorbar.py | 30 + .../funnel/marker/colorbar/_tickfont.py | 133 +- .../funnel/marker/colorbar/_title.py | 15 + .../funnel/marker/colorbar/title/_font.py | 133 +- .../graph_objs/funnelarea/_hoverlabel.py | 24 + .../graph_objs/funnelarea/_insidetextfont.py | 224 +- .../funnelarea/_legendgrouptitle.py | 15 + .../plotly/graph_objs/funnelarea/_textfont.py | 224 +- .../plotly/graph_objs/funnelarea/_title.py | 24 + .../graph_objs/funnelarea/hoverlabel/_font.py | 224 +- .../funnelarea/legendgrouptitle/_font.py | 133 +- .../graph_objs/funnelarea/title/_font.py | 224 +- .../plotly/graph_objs/heatmap/_colorbar.py | 30 + .../plotly/graph_objs/heatmap/_hoverlabel.py | 24 + .../graph_objs/heatmap/_legendgrouptitle.py | 15 + .../plotly/graph_objs/heatmap/_textfont.py | 133 +- .../graph_objs/heatmap/colorbar/_tickfont.py | 133 +- .../graph_objs/heatmap/colorbar/_title.py | 15 + .../heatmap/colorbar/title/_font.py | 133 +- .../graph_objs/heatmap/hoverlabel/_font.py | 224 +- .../heatmap/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/heatmapgl/_colorbar.py | 30 + .../graph_objs/heatmapgl/_hoverlabel.py | 24 + .../graph_objs/heatmapgl/_legendgrouptitle.py | 15 + .../heatmapgl/colorbar/_tickfont.py | 133 +- .../graph_objs/heatmapgl/colorbar/_title.py | 15 + .../heatmapgl/colorbar/title/_font.py | 133 +- .../graph_objs/heatmapgl/hoverlabel/_font.py | 224 +- .../heatmapgl/legendgrouptitle/_font.py | 133 +- .../graph_objs/histogram/_hoverlabel.py | 24 + .../graph_objs/histogram/_insidetextfont.py | 133 +- .../graph_objs/histogram/_legendgrouptitle.py | 15 + .../graph_objs/histogram/_outsidetextfont.py | 133 +- .../plotly/graph_objs/histogram/_textfont.py | 133 +- .../graph_objs/histogram/hoverlabel/_font.py | 224 +- .../histogram/legendgrouptitle/_font.py | 133 +- .../graph_objs/histogram/marker/_colorbar.py | 30 + .../histogram/marker/colorbar/_tickfont.py | 133 +- .../histogram/marker/colorbar/_title.py | 15 + .../histogram/marker/colorbar/title/_font.py | 133 +- .../graph_objs/histogram2d/_colorbar.py | 30 + .../graph_objs/histogram2d/_hoverlabel.py | 24 + .../histogram2d/_legendgrouptitle.py | 15 + .../graph_objs/histogram2d/_textfont.py | 133 +- .../histogram2d/colorbar/_tickfont.py | 133 +- .../graph_objs/histogram2d/colorbar/_title.py | 15 + .../histogram2d/colorbar/title/_font.py | 133 +- .../histogram2d/hoverlabel/_font.py | 224 +- .../histogram2d/legendgrouptitle/_font.py | 133 +- .../histogram2dcontour/_colorbar.py | 30 + .../histogram2dcontour/_contours.py | 15 + .../histogram2dcontour/_hoverlabel.py | 24 + .../histogram2dcontour/_legendgrouptitle.py | 15 + .../histogram2dcontour/_textfont.py | 133 +- .../histogram2dcontour/colorbar/_tickfont.py | 133 +- .../histogram2dcontour/colorbar/_title.py | 15 + .../colorbar/title/_font.py | 133 +- .../histogram2dcontour/contours/_labelfont.py | 133 +- .../histogram2dcontour/hoverlabel/_font.py | 224 +- .../legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/icicle/_hoverlabel.py | 24 + .../graph_objs/icicle/_insidetextfont.py | 224 +- .../graph_objs/icicle/_legendgrouptitle.py | 15 + .../graph_objs/icicle/_outsidetextfont.py | 224 +- .../plotly/graph_objs/icicle/_pathbar.py | 24 + .../plotly/graph_objs/icicle/_textfont.py | 224 +- .../graph_objs/icicle/hoverlabel/_font.py | 224 +- .../icicle/legendgrouptitle/_font.py | 133 +- .../graph_objs/icicle/marker/_colorbar.py | 30 + .../icicle/marker/colorbar/_tickfont.py | 133 +- .../icicle/marker/colorbar/_title.py | 15 + .../icicle/marker/colorbar/title/_font.py | 133 +- .../graph_objs/icicle/pathbar/_textfont.py | 224 +- .../plotly/graph_objs/image/_hoverlabel.py | 24 + .../graph_objs/image/_legendgrouptitle.py | 15 + .../graph_objs/image/hoverlabel/_font.py | 224 +- .../image/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/indicator/_delta.py | 15 + .../graph_objs/indicator/_legendgrouptitle.py | 15 + .../plotly/graph_objs/indicator/_number.py | 15 + .../plotly/graph_objs/indicator/_title.py | 15 + .../graph_objs/indicator/delta/_font.py | 133 +- .../graph_objs/indicator/gauge/_axis.py | 15 + .../indicator/gauge/axis/_tickfont.py | 133 +- .../indicator/legendgrouptitle/_font.py | 133 +- .../graph_objs/indicator/number/_font.py | 133 +- .../graph_objs/indicator/title/_font.py | 133 +- .../plotly/graph_objs/isosurface/_colorbar.py | 30 + .../graph_objs/isosurface/_hoverlabel.py | 24 + .../isosurface/_legendgrouptitle.py | 15 + .../isosurface/colorbar/_tickfont.py | 133 +- .../graph_objs/isosurface/colorbar/_title.py | 15 + .../isosurface/colorbar/title/_font.py | 133 +- .../graph_objs/isosurface/hoverlabel/_font.py | 224 +- .../isosurface/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/layout/_annotation.py | 15 + .../plotly/plotly/graph_objs/layout/_font.py | 133 +- .../plotly/graph_objs/layout/_hoverlabel.py | 30 + .../plotly/graph_objs/layout/_legend.py | 30 + .../plotly/graph_objs/layout/_slider.py | 15 + .../plotly/plotly/graph_objs/layout/_title.py | 15 + .../plotly/graph_objs/layout/_updatemenu.py | 15 + .../plotly/plotly/graph_objs/layout/_xaxis.py | 30 + .../plotly/plotly/graph_objs/layout/_yaxis.py | 30 + .../graph_objs/layout/annotation/_font.py | 133 +- .../layout/annotation/_hoverlabel.py | 15 + .../layout/annotation/hoverlabel/_font.py | 133 +- .../graph_objs/layout/coloraxis/_colorbar.py | 30 + .../layout/coloraxis/colorbar/_tickfont.py | 133 +- .../layout/coloraxis/colorbar/_title.py | 15 + .../layout/coloraxis/colorbar/title/_font.py | 133 +- .../graph_objs/layout/hoverlabel/_font.py | 133 +- .../layout/hoverlabel/_grouptitlefont.py | 133 +- .../plotly/graph_objs/layout/legend/_font.py | 133 +- .../layout/legend/_grouptitlefont.py | 133 +- .../plotly/graph_objs/layout/legend/_title.py | 15 + .../graph_objs/layout/legend/title/_font.py | 133 +- .../layout/mapbox/layer/symbol/_textfont.py | 8 +- .../graph_objs/layout/newshape/_label.py | 15 + .../layout/newshape/_legendgrouptitle.py | 15 + .../graph_objs/layout/newshape/label/_font.py | 133 +- .../layout/newshape/legendgrouptitle/_font.py | 133 +- .../graph_objs/layout/polar/_angularaxis.py | 15 + .../graph_objs/layout/polar/_radialaxis.py | 30 + .../layout/polar/angularaxis/_tickfont.py | 133 +- .../layout/polar/radialaxis/_tickfont.py | 133 +- .../layout/polar/radialaxis/_title.py | 15 + .../layout/polar/radialaxis/title/_font.py | 133 +- .../graph_objs/layout/scene/_annotation.py | 15 + .../plotly/graph_objs/layout/scene/_xaxis.py | 30 + .../plotly/graph_objs/layout/scene/_yaxis.py | 30 + .../plotly/graph_objs/layout/scene/_zaxis.py | 30 + .../layout/scene/annotation/_font.py | 133 +- .../layout/scene/annotation/_hoverlabel.py | 15 + .../scene/annotation/hoverlabel/_font.py | 133 +- .../layout/scene/xaxis/_tickfont.py | 133 +- .../graph_objs/layout/scene/xaxis/_title.py | 15 + .../layout/scene/xaxis/title/_font.py | 133 +- .../layout/scene/yaxis/_tickfont.py | 133 +- .../graph_objs/layout/scene/yaxis/_title.py | 15 + .../layout/scene/yaxis/title/_font.py | 133 +- .../layout/scene/zaxis/_tickfont.py | 133 +- .../graph_objs/layout/scene/zaxis/_title.py | 15 + .../layout/scene/zaxis/title/_font.py | 133 +- .../plotly/graph_objs/layout/shape/_label.py | 15 + .../layout/shape/_legendgrouptitle.py | 15 + .../graph_objs/layout/shape/label/_font.py | 133 +- .../layout/shape/legendgrouptitle/_font.py | 133 +- .../graph_objs/layout/slider/_currentvalue.py | 15 + .../plotly/graph_objs/layout/slider/_font.py | 133 +- .../layout/slider/currentvalue/_font.py | 133 +- .../graph_objs/layout/smith/_imaginaryaxis.py | 15 + .../graph_objs/layout/smith/_realaxis.py | 15 + .../layout/smith/imaginaryaxis/_tickfont.py | 133 +- .../layout/smith/realaxis/_tickfont.py | 133 +- .../graph_objs/layout/ternary/_aaxis.py | 30 + .../graph_objs/layout/ternary/_baxis.py | 30 + .../graph_objs/layout/ternary/_caxis.py | 30 + .../layout/ternary/aaxis/_tickfont.py | 133 +- .../graph_objs/layout/ternary/aaxis/_title.py | 15 + .../layout/ternary/aaxis/title/_font.py | 133 +- .../layout/ternary/baxis/_tickfont.py | 133 +- .../graph_objs/layout/ternary/baxis/_title.py | 15 + .../layout/ternary/baxis/title/_font.py | 133 +- .../layout/ternary/caxis/_tickfont.py | 133 +- .../graph_objs/layout/ternary/caxis/_title.py | 15 + .../layout/ternary/caxis/title/_font.py | 133 +- .../plotly/graph_objs/layout/title/_font.py | 133 +- .../graph_objs/layout/updatemenu/_font.py | 133 +- .../graph_objs/layout/xaxis/_rangeselector.py | 15 + .../graph_objs/layout/xaxis/_tickfont.py | 133 +- .../plotly/graph_objs/layout/xaxis/_title.py | 15 + .../layout/xaxis/rangeselector/_font.py | 133 +- .../graph_objs/layout/xaxis/title/_font.py | 133 +- .../graph_objs/layout/yaxis/_tickfont.py | 133 +- .../plotly/graph_objs/layout/yaxis/_title.py | 15 + .../graph_objs/layout/yaxis/title/_font.py | 133 +- .../plotly/graph_objs/mesh3d/_colorbar.py | 30 + .../plotly/graph_objs/mesh3d/_hoverlabel.py | 24 + .../graph_objs/mesh3d/_legendgrouptitle.py | 15 + .../graph_objs/mesh3d/colorbar/_tickfont.py | 133 +- .../graph_objs/mesh3d/colorbar/_title.py | 15 + .../graph_objs/mesh3d/colorbar/title/_font.py | 133 +- .../graph_objs/mesh3d/hoverlabel/_font.py | 224 +- .../mesh3d/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/ohlc/_hoverlabel.py | 24 + .../graph_objs/ohlc/_legendgrouptitle.py | 15 + .../graph_objs/ohlc/hoverlabel/_font.py | 224 +- .../graph_objs/ohlc/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/parcats/_labelfont.py | 133 +- .../graph_objs/parcats/_legendgrouptitle.py | 15 + .../plotly/graph_objs/parcats/_tickfont.py | 133 +- .../parcats/legendgrouptitle/_font.py | 133 +- .../graph_objs/parcats/line/_colorbar.py | 30 + .../parcats/line/colorbar/_tickfont.py | 133 +- .../parcats/line/colorbar/_title.py | 15 + .../parcats/line/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/parcoords/_labelfont.py | 133 +- .../graph_objs/parcoords/_legendgrouptitle.py | 15 + .../plotly/graph_objs/parcoords/_rangefont.py | 133 +- .../plotly/graph_objs/parcoords/_tickfont.py | 133 +- .../parcoords/legendgrouptitle/_font.py | 133 +- .../graph_objs/parcoords/line/_colorbar.py | 30 + .../parcoords/line/colorbar/_tickfont.py | 133 +- .../parcoords/line/colorbar/_title.py | 15 + .../parcoords/line/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/pie/_hoverlabel.py | 24 + .../plotly/graph_objs/pie/_insidetextfont.py | 224 +- .../graph_objs/pie/_legendgrouptitle.py | 15 + .../plotly/graph_objs/pie/_outsidetextfont.py | 224 +- .../plotly/plotly/graph_objs/pie/_textfont.py | 224 +- .../plotly/plotly/graph_objs/pie/_title.py | 24 + .../plotly/graph_objs/pie/hoverlabel/_font.py | 224 +- .../graph_objs/pie/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/pie/title/_font.py | 224 +- .../graph_objs/pointcloud/_hoverlabel.py | 24 + .../pointcloud/_legendgrouptitle.py | 15 + .../graph_objs/pointcloud/hoverlabel/_font.py | 224 +- .../pointcloud/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/sankey/_hoverlabel.py | 24 + .../graph_objs/sankey/_legendgrouptitle.py | 15 + .../plotly/graph_objs/sankey/_textfont.py | 133 +- .../graph_objs/sankey/hoverlabel/_font.py | 224 +- .../sankey/legendgrouptitle/_font.py | 133 +- .../graph_objs/sankey/link/_hoverlabel.py | 24 + .../sankey/link/hoverlabel/_font.py | 224 +- .../graph_objs/sankey/node/_hoverlabel.py | 24 + .../sankey/node/hoverlabel/_font.py | 224 +- .../plotly/graph_objs/scatter/_hoverlabel.py | 24 + .../graph_objs/scatter/_legendgrouptitle.py | 15 + .../plotly/graph_objs/scatter/_textfont.py | 224 +- .../graph_objs/scatter/hoverlabel/_font.py | 224 +- .../scatter/legendgrouptitle/_font.py | 133 +- .../graph_objs/scatter/marker/_colorbar.py | 30 + .../scatter/marker/colorbar/_tickfont.py | 133 +- .../scatter/marker/colorbar/_title.py | 15 + .../scatter/marker/colorbar/title/_font.py | 133 +- .../graph_objs/scatter3d/_hoverlabel.py | 24 + .../graph_objs/scatter3d/_legendgrouptitle.py | 15 + .../plotly/graph_objs/scatter3d/_textfont.py | 8 +- .../graph_objs/scatter3d/hoverlabel/_font.py | 224 +- .../scatter3d/legendgrouptitle/_font.py | 133 +- .../graph_objs/scatter3d/line/_colorbar.py | 30 + .../scatter3d/line/colorbar/_tickfont.py | 133 +- .../scatter3d/line/colorbar/_title.py | 15 + .../scatter3d/line/colorbar/title/_font.py | 133 +- .../graph_objs/scatter3d/marker/_colorbar.py | 30 + .../scatter3d/marker/colorbar/_tickfont.py | 133 +- .../scatter3d/marker/colorbar/_title.py | 15 + .../scatter3d/marker/colorbar/title/_font.py | 133 +- .../graph_objs/scattercarpet/_hoverlabel.py | 24 + .../scattercarpet/_legendgrouptitle.py | 15 + .../graph_objs/scattercarpet/_textfont.py | 224 +- .../scattercarpet/hoverlabel/_font.py | 224 +- .../scattercarpet/legendgrouptitle/_font.py | 133 +- .../scattercarpet/marker/_colorbar.py | 30 + .../marker/colorbar/_tickfont.py | 133 +- .../scattercarpet/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../graph_objs/scattergeo/_hoverlabel.py | 24 + .../scattergeo/_legendgrouptitle.py | 15 + .../plotly/graph_objs/scattergeo/_textfont.py | 224 +- .../graph_objs/scattergeo/hoverlabel/_font.py | 224 +- .../scattergeo/legendgrouptitle/_font.py | 133 +- .../graph_objs/scattergeo/marker/_colorbar.py | 30 + .../scattergeo/marker/colorbar/_tickfont.py | 133 +- .../scattergeo/marker/colorbar/_title.py | 15 + .../scattergeo/marker/colorbar/title/_font.py | 133 +- .../graph_objs/scattergl/_hoverlabel.py | 24 + .../graph_objs/scattergl/_legendgrouptitle.py | 15 + .../graph_objs/scattergl/hoverlabel/_font.py | 224 +- .../scattergl/legendgrouptitle/_font.py | 133 +- .../graph_objs/scattergl/marker/_colorbar.py | 30 + .../scattergl/marker/colorbar/_tickfont.py | 133 +- .../scattergl/marker/colorbar/_title.py | 15 + .../scattergl/marker/colorbar/title/_font.py | 133 +- .../graph_objs/scattermapbox/_hoverlabel.py | 24 + .../scattermapbox/_legendgrouptitle.py | 15 + .../graph_objs/scattermapbox/_textfont.py | 8 +- .../scattermapbox/hoverlabel/_font.py | 224 +- .../scattermapbox/legendgrouptitle/_font.py | 133 +- .../scattermapbox/marker/_colorbar.py | 30 + .../marker/colorbar/_tickfont.py | 133 +- .../scattermapbox/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../graph_objs/scatterpolar/_hoverlabel.py | 24 + .../scatterpolar/_legendgrouptitle.py | 15 + .../graph_objs/scatterpolar/_textfont.py | 224 +- .../scatterpolar/hoverlabel/_font.py | 224 +- .../scatterpolar/legendgrouptitle/_font.py | 133 +- .../scatterpolar/marker/_colorbar.py | 30 + .../scatterpolar/marker/colorbar/_tickfont.py | 133 +- .../scatterpolar/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../graph_objs/scatterpolargl/_hoverlabel.py | 24 + .../scatterpolargl/_legendgrouptitle.py | 15 + .../scatterpolargl/hoverlabel/_font.py | 224 +- .../scatterpolargl/legendgrouptitle/_font.py | 133 +- .../scatterpolargl/marker/_colorbar.py | 30 + .../marker/colorbar/_tickfont.py | 133 +- .../scatterpolargl/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../graph_objs/scattersmith/_hoverlabel.py | 24 + .../scattersmith/_legendgrouptitle.py | 15 + .../graph_objs/scattersmith/_textfont.py | 224 +- .../scattersmith/hoverlabel/_font.py | 224 +- .../scattersmith/legendgrouptitle/_font.py | 133 +- .../scattersmith/marker/_colorbar.py | 30 + .../scattersmith/marker/colorbar/_tickfont.py | 133 +- .../scattersmith/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../graph_objs/scatterternary/_hoverlabel.py | 24 + .../scatterternary/_legendgrouptitle.py | 15 + .../graph_objs/scatterternary/_textfont.py | 224 +- .../scatterternary/hoverlabel/_font.py | 224 +- .../scatterternary/legendgrouptitle/_font.py | 133 +- .../scatterternary/marker/_colorbar.py | 30 + .../marker/colorbar/_tickfont.py | 133 +- .../scatterternary/marker/colorbar/_title.py | 15 + .../marker/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/splom/_hoverlabel.py | 24 + .../graph_objs/splom/_legendgrouptitle.py | 15 + .../graph_objs/splom/hoverlabel/_font.py | 224 +- .../splom/legendgrouptitle/_font.py | 133 +- .../graph_objs/splom/marker/_colorbar.py | 30 + .../splom/marker/colorbar/_tickfont.py | 133 +- .../splom/marker/colorbar/_title.py | 15 + .../splom/marker/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/streamtube/_colorbar.py | 30 + .../graph_objs/streamtube/_hoverlabel.py | 24 + .../streamtube/_legendgrouptitle.py | 15 + .../streamtube/colorbar/_tickfont.py | 133 +- .../graph_objs/streamtube/colorbar/_title.py | 15 + .../streamtube/colorbar/title/_font.py | 133 +- .../graph_objs/streamtube/hoverlabel/_font.py | 224 +- .../streamtube/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/sunburst/_hoverlabel.py | 24 + .../graph_objs/sunburst/_insidetextfont.py | 224 +- .../graph_objs/sunburst/_legendgrouptitle.py | 15 + .../graph_objs/sunburst/_outsidetextfont.py | 224 +- .../plotly/graph_objs/sunburst/_textfont.py | 224 +- .../graph_objs/sunburst/hoverlabel/_font.py | 224 +- .../sunburst/legendgrouptitle/_font.py | 133 +- .../graph_objs/sunburst/marker/_colorbar.py | 30 + .../sunburst/marker/colorbar/_tickfont.py | 133 +- .../sunburst/marker/colorbar/_title.py | 15 + .../sunburst/marker/colorbar/title/_font.py | 133 +- .../plotly/graph_objs/surface/_colorbar.py | 30 + .../plotly/graph_objs/surface/_hoverlabel.py | 24 + .../graph_objs/surface/_legendgrouptitle.py | 15 + .../graph_objs/surface/colorbar/_tickfont.py | 133 +- .../graph_objs/surface/colorbar/_title.py | 15 + .../surface/colorbar/title/_font.py | 133 +- .../graph_objs/surface/hoverlabel/_font.py | 224 +- .../surface/legendgrouptitle/_font.py | 133 +- .../plotly/plotly/graph_objs/table/_cells.py | 24 + .../plotly/plotly/graph_objs/table/_header.py | 24 + .../plotly/graph_objs/table/_hoverlabel.py | 24 + .../graph_objs/table/_legendgrouptitle.py | 15 + .../plotly/graph_objs/table/cells/_font.py | 224 +- .../plotly/graph_objs/table/header/_font.py | 224 +- .../graph_objs/table/hoverlabel/_font.py | 224 +- .../table/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/treemap/_hoverlabel.py | 24 + .../graph_objs/treemap/_insidetextfont.py | 224 +- .../graph_objs/treemap/_legendgrouptitle.py | 15 + .../graph_objs/treemap/_outsidetextfont.py | 224 +- .../plotly/graph_objs/treemap/_pathbar.py | 24 + .../plotly/graph_objs/treemap/_textfont.py | 224 +- .../graph_objs/treemap/hoverlabel/_font.py | 224 +- .../treemap/legendgrouptitle/_font.py | 133 +- .../graph_objs/treemap/marker/_colorbar.py | 30 + .../treemap/marker/colorbar/_tickfont.py | 133 +- .../treemap/marker/colorbar/_title.py | 15 + .../treemap/marker/colorbar/title/_font.py | 133 +- .../graph_objs/treemap/pathbar/_textfont.py | 224 +- .../plotly/graph_objs/violin/_hoverlabel.py | 24 + .../graph_objs/violin/_legendgrouptitle.py | 15 + .../graph_objs/violin/hoverlabel/_font.py | 224 +- .../violin/legendgrouptitle/_font.py | 133 +- .../plotly/graph_objs/volume/_colorbar.py | 30 + .../plotly/graph_objs/volume/_hoverlabel.py | 24 + .../graph_objs/volume/_legendgrouptitle.py | 15 + .../graph_objs/volume/colorbar/_tickfont.py | 133 +- .../graph_objs/volume/colorbar/_title.py | 15 + .../graph_objs/volume/colorbar/title/_font.py | 133 +- .../graph_objs/volume/hoverlabel/_font.py | 224 +- .../volume/legendgrouptitle/_font.py | 133 +- .../graph_objs/waterfall/_hoverlabel.py | 24 + .../graph_objs/waterfall/_insidetextfont.py | 224 +- .../graph_objs/waterfall/_legendgrouptitle.py | 15 + .../graph_objs/waterfall/_outsidetextfont.py | 224 +- .../plotly/graph_objs/waterfall/_textfont.py | 224 +- .../graph_objs/waterfall/hoverlabel/_font.py | 224 +- .../waterfall/legendgrouptitle/_font.py | 133 +- .../plotly/offline/_plotlyjs_version.py | 2 +- .../plotly/plotly/package_data/plotly.min.js | 4 +- .../plotly/validators/bar/_insidetextfont.py | 24 + .../plotly/validators/bar/_outsidetextfont.py | 24 + .../plotly/plotly/validators/bar/_textfont.py | 24 + .../plotly/validators/bar/hoverlabel/_font.py | 24 + .../bar/hoverlabel/font/__init__.py | 12 + .../bar/hoverlabel/font/_lineposition.py | 16 + .../bar/hoverlabel/font/_linepositionsrc.py | 13 + .../validators/bar/hoverlabel/font/_shadow.py | 14 + .../bar/hoverlabel/font/_shadowsrc.py | 13 + .../bar/hoverlabel/font/_textcase.py | 15 + .../bar/hoverlabel/font/_textcasesrc.py | 13 + .../validators/bar/hoverlabel/font/_weight.py | 6 +- .../validators/bar/insidetextfont/__init__.py | 12 + .../bar/insidetextfont/_lineposition.py | 16 + .../bar/insidetextfont/_linepositionsrc.py | 13 + .../validators/bar/insidetextfont/_shadow.py | 14 + .../bar/insidetextfont/_shadowsrc.py | 13 + .../bar/insidetextfont/_textcase.py | 15 + .../bar/insidetextfont/_textcasesrc.py | 13 + .../validators/bar/insidetextfont/_weight.py | 6 +- .../validators/bar/legendgrouptitle/_font.py | 15 + .../bar/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../bar/legendgrouptitle/font/_shadow.py | 13 + .../bar/legendgrouptitle/font/_textcase.py | 14 + .../bar/legendgrouptitle/font/_weight.py | 6 +- .../bar/marker/colorbar/_tickfont.py | 15 + .../bar/marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../bar/marker/colorbar/tickfont/_shadow.py | 13 + .../bar/marker/colorbar/tickfont/_textcase.py | 17 + .../bar/marker/colorbar/tickfont/_weight.py | 6 +- .../bar/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../bar/marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../bar/marker/colorbar/title/font/_weight.py | 6 +- .../bar/outsidetextfont/__init__.py | 12 + .../bar/outsidetextfont/_lineposition.py | 16 + .../bar/outsidetextfont/_linepositionsrc.py | 13 + .../validators/bar/outsidetextfont/_shadow.py | 14 + .../bar/outsidetextfont/_shadowsrc.py | 13 + .../bar/outsidetextfont/_textcase.py | 15 + .../bar/outsidetextfont/_textcasesrc.py | 13 + .../validators/bar/outsidetextfont/_weight.py | 6 +- .../validators/bar/textfont/__init__.py | 12 + .../validators/bar/textfont/_lineposition.py | 16 + .../bar/textfont/_linepositionsrc.py | 13 + .../plotly/validators/bar/textfont/_shadow.py | 12 + .../validators/bar/textfont/_shadowsrc.py | 11 + .../validators/bar/textfont/_textcase.py | 13 + .../validators/bar/textfont/_textcasesrc.py | 11 + .../plotly/validators/bar/textfont/_weight.py | 6 +- .../validators/barpolar/hoverlabel/_font.py | 24 + .../barpolar/hoverlabel/font/__init__.py | 12 + .../barpolar/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../barpolar/hoverlabel/font/_shadow.py | 14 + .../barpolar/hoverlabel/font/_shadowsrc.py | 13 + .../barpolar/hoverlabel/font/_textcase.py | 15 + .../barpolar/hoverlabel/font/_textcasesrc.py | 16 + .../barpolar/hoverlabel/font/_weight.py | 6 +- .../barpolar/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../barpolar/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../barpolar/legendgrouptitle/font/_weight.py | 6 +- .../barpolar/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../barpolar/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../plotly/validators/box/hoverlabel/_font.py | 24 + .../box/hoverlabel/font/__init__.py | 12 + .../box/hoverlabel/font/_lineposition.py | 16 + .../box/hoverlabel/font/_linepositionsrc.py | 13 + .../validators/box/hoverlabel/font/_shadow.py | 14 + .../box/hoverlabel/font/_shadowsrc.py | 13 + .../box/hoverlabel/font/_textcase.py | 15 + .../box/hoverlabel/font/_textcasesrc.py | 13 + .../validators/box/hoverlabel/font/_weight.py | 6 +- .../validators/box/legendgrouptitle/_font.py | 15 + .../box/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../box/legendgrouptitle/font/_shadow.py | 13 + .../box/legendgrouptitle/font/_textcase.py | 14 + .../box/legendgrouptitle/font/_weight.py | 6 +- .../candlestick/hoverlabel/_font.py | 24 + .../candlestick/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../candlestick/hoverlabel/font/_shadow.py | 14 + .../candlestick/hoverlabel/font/_shadowsrc.py | 16 + .../candlestick/hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../candlestick/hoverlabel/font/_weight.py | 6 +- .../candlestick/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../plotly/plotly/validators/carpet/_font.py | 15 + .../validators/carpet/aaxis/_tickfont.py | 15 + .../carpet/aaxis/tickfont/__init__.py | 6 + .../carpet/aaxis/tickfont/_lineposition.py | 15 + .../carpet/aaxis/tickfont/_shadow.py | 13 + .../carpet/aaxis/tickfont/_textcase.py | 14 + .../carpet/aaxis/tickfont/_weight.py | 6 +- .../validators/carpet/aaxis/title/_font.py | 15 + .../carpet/aaxis/title/font/__init__.py | 6 + .../carpet/aaxis/title/font/_lineposition.py | 18 + .../carpet/aaxis/title/font/_shadow.py | 13 + .../carpet/aaxis/title/font/_textcase.py | 14 + .../carpet/aaxis/title/font/_weight.py | 6 +- .../validators/carpet/baxis/_tickfont.py | 15 + .../carpet/baxis/tickfont/__init__.py | 6 + .../carpet/baxis/tickfont/_lineposition.py | 15 + .../carpet/baxis/tickfont/_shadow.py | 13 + .../carpet/baxis/tickfont/_textcase.py | 14 + .../carpet/baxis/tickfont/_weight.py | 6 +- .../validators/carpet/baxis/title/_font.py | 15 + .../carpet/baxis/title/font/__init__.py | 6 + .../carpet/baxis/title/font/_lineposition.py | 18 + .../carpet/baxis/title/font/_shadow.py | 13 + .../carpet/baxis/title/font/_textcase.py | 14 + .../carpet/baxis/title/font/_weight.py | 6 +- .../plotly/validators/carpet/font/__init__.py | 6 + .../validators/carpet/font/_lineposition.py | 13 + .../plotly/validators/carpet/font/_shadow.py | 11 + .../validators/carpet/font/_textcase.py | 12 + .../plotly/validators/carpet/font/_weight.py | 6 +- .../carpet/legendgrouptitle/_font.py | 15 + .../carpet/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../carpet/legendgrouptitle/font/_shadow.py | 13 + .../carpet/legendgrouptitle/font/_textcase.py | 17 + .../carpet/legendgrouptitle/font/_weight.py | 6 +- .../choropleth/colorbar/_tickfont.py | 15 + .../choropleth/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../choropleth/colorbar/tickfont/_shadow.py | 13 + .../choropleth/colorbar/tickfont/_textcase.py | 17 + .../choropleth/colorbar/tickfont/_weight.py | 6 +- .../choropleth/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../choropleth/colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../choropleth/colorbar/title/font/_weight.py | 6 +- .../validators/choropleth/hoverlabel/_font.py | 24 + .../choropleth/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../choropleth/hoverlabel/font/_shadow.py | 14 + .../choropleth/hoverlabel/font/_shadowsrc.py | 16 + .../choropleth/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../choropleth/hoverlabel/font/_weight.py | 6 +- .../choropleth/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../choroplethmapbox/colorbar/_tickfont.py | 15 + .../colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../colorbar/tickfont/_shadow.py | 16 + .../colorbar/tickfont/_textcase.py | 17 + .../colorbar/tickfont/_weight.py | 6 +- .../choroplethmapbox/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../colorbar/title/font/_weight.py | 6 +- .../choroplethmapbox/hoverlabel/_font.py | 24 + .../hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../hoverlabel/font/_weight.py | 6 +- .../legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../validators/cone/colorbar/_tickfont.py | 15 + .../cone/colorbar/tickfont/__init__.py | 6 + .../cone/colorbar/tickfont/_lineposition.py | 15 + .../cone/colorbar/tickfont/_shadow.py | 13 + .../cone/colorbar/tickfont/_textcase.py | 14 + .../cone/colorbar/tickfont/_weight.py | 6 +- .../validators/cone/colorbar/title/_font.py | 15 + .../cone/colorbar/title/font/__init__.py | 6 + .../cone/colorbar/title/font/_lineposition.py | 18 + .../cone/colorbar/title/font/_shadow.py | 13 + .../cone/colorbar/title/font/_textcase.py | 14 + .../cone/colorbar/title/font/_weight.py | 6 +- .../validators/cone/hoverlabel/_font.py | 24 + .../cone/hoverlabel/font/__init__.py | 12 + .../cone/hoverlabel/font/_lineposition.py | 16 + .../cone/hoverlabel/font/_linepositionsrc.py | 16 + .../cone/hoverlabel/font/_shadow.py | 14 + .../cone/hoverlabel/font/_shadowsrc.py | 13 + .../cone/hoverlabel/font/_textcase.py | 15 + .../cone/hoverlabel/font/_textcasesrc.py | 13 + .../cone/hoverlabel/font/_weight.py | 6 +- .../validators/cone/legendgrouptitle/_font.py | 15 + .../cone/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../cone/legendgrouptitle/font/_shadow.py | 13 + .../cone/legendgrouptitle/font/_textcase.py | 14 + .../cone/legendgrouptitle/font/_weight.py | 6 +- .../plotly/validators/contour/_textfont.py | 15 + .../validators/contour/colorbar/_tickfont.py | 15 + .../contour/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../contour/colorbar/tickfont/_shadow.py | 13 + .../contour/colorbar/tickfont/_textcase.py | 14 + .../contour/colorbar/tickfont/_weight.py | 6 +- .../contour/colorbar/title/_font.py | 15 + .../contour/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../contour/colorbar/title/font/_shadow.py | 13 + .../contour/colorbar/title/font/_textcase.py | 17 + .../contour/colorbar/title/font/_weight.py | 6 +- .../validators/contour/contours/_labelfont.py | 15 + .../contour/contours/labelfont/__init__.py | 6 + .../contours/labelfont/_lineposition.py | 18 + .../contour/contours/labelfont/_shadow.py | 13 + .../contour/contours/labelfont/_textcase.py | 14 + .../contour/contours/labelfont/_weight.py | 6 +- .../validators/contour/hoverlabel/_font.py | 24 + .../contour/hoverlabel/font/__init__.py | 12 + .../contour/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../contour/hoverlabel/font/_shadow.py | 14 + .../contour/hoverlabel/font/_shadowsrc.py | 13 + .../contour/hoverlabel/font/_textcase.py | 15 + .../contour/hoverlabel/font/_textcasesrc.py | 13 + .../contour/hoverlabel/font/_weight.py | 6 +- .../contour/legendgrouptitle/_font.py | 15 + .../contour/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../contour/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../contour/legendgrouptitle/font/_weight.py | 6 +- .../validators/contour/textfont/__init__.py | 6 + .../contour/textfont/_lineposition.py | 15 + .../validators/contour/textfont/_shadow.py | 11 + .../validators/contour/textfont/_textcase.py | 14 + .../validators/contour/textfont/_weight.py | 6 +- .../contourcarpet/colorbar/_tickfont.py | 15 + .../colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../colorbar/tickfont/_shadow.py | 16 + .../colorbar/tickfont/_textcase.py | 17 + .../colorbar/tickfont/_weight.py | 6 +- .../contourcarpet/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../colorbar/title/font/_weight.py | 6 +- .../contourcarpet/contours/_labelfont.py | 15 + .../contours/labelfont/__init__.py | 6 + .../contours/labelfont/_lineposition.py | 18 + .../contours/labelfont/_shadow.py | 16 + .../contours/labelfont/_textcase.py | 17 + .../contours/labelfont/_weight.py | 6 +- .../contourcarpet/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../densitymapbox/colorbar/_tickfont.py | 15 + .../colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../colorbar/tickfont/_shadow.py | 16 + .../colorbar/tickfont/_textcase.py | 17 + .../colorbar/tickfont/_weight.py | 6 +- .../densitymapbox/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../colorbar/title/font/_weight.py | 6 +- .../densitymapbox/hoverlabel/_font.py | 24 + .../densitymapbox/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../densitymapbox/hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../densitymapbox/hoverlabel/font/_weight.py | 6 +- .../densitymapbox/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../validators/funnel/_insidetextfont.py | 24 + .../validators/funnel/_outsidetextfont.py | 24 + .../plotly/validators/funnel/_textfont.py | 24 + .../validators/funnel/hoverlabel/_font.py | 24 + .../funnel/hoverlabel/font/__init__.py | 12 + .../funnel/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../funnel/hoverlabel/font/_shadow.py | 14 + .../funnel/hoverlabel/font/_shadowsrc.py | 13 + .../funnel/hoverlabel/font/_textcase.py | 15 + .../funnel/hoverlabel/font/_textcasesrc.py | 13 + .../funnel/hoverlabel/font/_weight.py | 6 +- .../funnel/insidetextfont/__init__.py | 12 + .../funnel/insidetextfont/_lineposition.py | 16 + .../funnel/insidetextfont/_linepositionsrc.py | 16 + .../funnel/insidetextfont/_shadow.py | 14 + .../funnel/insidetextfont/_shadowsrc.py | 13 + .../funnel/insidetextfont/_textcase.py | 15 + .../funnel/insidetextfont/_textcasesrc.py | 13 + .../funnel/insidetextfont/_weight.py | 6 +- .../funnel/legendgrouptitle/_font.py | 15 + .../funnel/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../funnel/legendgrouptitle/font/_shadow.py | 13 + .../funnel/legendgrouptitle/font/_textcase.py | 17 + .../funnel/legendgrouptitle/font/_weight.py | 6 +- .../funnel/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../funnel/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../funnel/outsidetextfont/__init__.py | 12 + .../funnel/outsidetextfont/_lineposition.py | 16 + .../outsidetextfont/_linepositionsrc.py | 16 + .../funnel/outsidetextfont/_shadow.py | 14 + .../funnel/outsidetextfont/_shadowsrc.py | 13 + .../funnel/outsidetextfont/_textcase.py | 15 + .../funnel/outsidetextfont/_textcasesrc.py | 13 + .../funnel/outsidetextfont/_weight.py | 6 +- .../validators/funnel/textfont/__init__.py | 12 + .../funnel/textfont/_lineposition.py | 16 + .../funnel/textfont/_linepositionsrc.py | 13 + .../validators/funnel/textfont/_shadow.py | 12 + .../validators/funnel/textfont/_shadowsrc.py | 13 + .../validators/funnel/textfont/_textcase.py | 13 + .../funnel/textfont/_textcasesrc.py | 13 + .../validators/funnel/textfont/_weight.py | 6 +- .../validators/funnelarea/_insidetextfont.py | 24 + .../plotly/validators/funnelarea/_textfont.py | 24 + .../validators/funnelarea/hoverlabel/_font.py | 24 + .../funnelarea/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../funnelarea/hoverlabel/font/_shadow.py | 14 + .../funnelarea/hoverlabel/font/_shadowsrc.py | 16 + .../funnelarea/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../funnelarea/hoverlabel/font/_weight.py | 6 +- .../funnelarea/insidetextfont/__init__.py | 12 + .../insidetextfont/_lineposition.py | 19 + .../insidetextfont/_linepositionsrc.py | 16 + .../funnelarea/insidetextfont/_shadow.py | 14 + .../funnelarea/insidetextfont/_shadowsrc.py | 13 + .../funnelarea/insidetextfont/_textcase.py | 15 + .../funnelarea/insidetextfont/_textcasesrc.py | 16 + .../funnelarea/insidetextfont/_weight.py | 6 +- .../funnelarea/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../funnelarea/textfont/__init__.py | 12 + .../funnelarea/textfont/_lineposition.py | 16 + .../funnelarea/textfont/_linepositionsrc.py | 13 + .../validators/funnelarea/textfont/_shadow.py | 14 + .../funnelarea/textfont/_shadowsrc.py | 13 + .../funnelarea/textfont/_textcase.py | 15 + .../funnelarea/textfont/_textcasesrc.py | 13 + .../validators/funnelarea/textfont/_weight.py | 6 +- .../validators/funnelarea/title/_font.py | 24 + .../funnelarea/title/font/__init__.py | 12 + .../funnelarea/title/font/_lineposition.py | 16 + .../funnelarea/title/font/_linepositionsrc.py | 16 + .../funnelarea/title/font/_shadow.py | 14 + .../funnelarea/title/font/_shadowsrc.py | 13 + .../funnelarea/title/font/_textcase.py | 15 + .../funnelarea/title/font/_textcasesrc.py | 13 + .../funnelarea/title/font/_weight.py | 6 +- .../plotly/validators/heatmap/_textfont.py | 15 + .../validators/heatmap/colorbar/_tickfont.py | 15 + .../heatmap/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../heatmap/colorbar/tickfont/_shadow.py | 13 + .../heatmap/colorbar/tickfont/_textcase.py | 14 + .../heatmap/colorbar/tickfont/_weight.py | 6 +- .../heatmap/colorbar/title/_font.py | 15 + .../heatmap/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../heatmap/colorbar/title/font/_shadow.py | 13 + .../heatmap/colorbar/title/font/_textcase.py | 17 + .../heatmap/colorbar/title/font/_weight.py | 6 +- .../validators/heatmap/hoverlabel/_font.py | 24 + .../heatmap/hoverlabel/font/__init__.py | 12 + .../heatmap/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../heatmap/hoverlabel/font/_shadow.py | 14 + .../heatmap/hoverlabel/font/_shadowsrc.py | 13 + .../heatmap/hoverlabel/font/_textcase.py | 15 + .../heatmap/hoverlabel/font/_textcasesrc.py | 13 + .../heatmap/hoverlabel/font/_weight.py | 6 +- .../heatmap/legendgrouptitle/_font.py | 15 + .../heatmap/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../heatmap/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../heatmap/legendgrouptitle/font/_weight.py | 6 +- .../validators/heatmap/textfont/__init__.py | 6 + .../heatmap/textfont/_lineposition.py | 15 + .../validators/heatmap/textfont/_shadow.py | 11 + .../validators/heatmap/textfont/_textcase.py | 14 + .../validators/heatmap/textfont/_weight.py | 6 +- .../heatmapgl/colorbar/_tickfont.py | 15 + .../heatmapgl/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../heatmapgl/colorbar/tickfont/_shadow.py | 13 + .../heatmapgl/colorbar/tickfont/_textcase.py | 17 + .../heatmapgl/colorbar/tickfont/_weight.py | 6 +- .../heatmapgl/colorbar/title/_font.py | 15 + .../heatmapgl/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../heatmapgl/colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../heatmapgl/colorbar/title/font/_weight.py | 6 +- .../validators/heatmapgl/hoverlabel/_font.py | 24 + .../heatmapgl/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../heatmapgl/hoverlabel/font/_shadow.py | 14 + .../heatmapgl/hoverlabel/font/_shadowsrc.py | 13 + .../heatmapgl/hoverlabel/font/_textcase.py | 15 + .../heatmapgl/hoverlabel/font/_textcasesrc.py | 16 + .../heatmapgl/hoverlabel/font/_weight.py | 6 +- .../heatmapgl/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../validators/histogram/_insidetextfont.py | 15 + .../validators/histogram/_outsidetextfont.py | 15 + .../plotly/validators/histogram/_textfont.py | 15 + .../validators/histogram/hoverlabel/_font.py | 24 + .../histogram/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../histogram/hoverlabel/font/_shadow.py | 14 + .../histogram/hoverlabel/font/_shadowsrc.py | 13 + .../histogram/hoverlabel/font/_textcase.py | 15 + .../histogram/hoverlabel/font/_textcasesrc.py | 16 + .../histogram/hoverlabel/font/_weight.py | 6 +- .../histogram/insidetextfont/__init__.py | 6 + .../histogram/insidetextfont/_lineposition.py | 18 + .../histogram/insidetextfont/_shadow.py | 13 + .../histogram/insidetextfont/_textcase.py | 14 + .../histogram/insidetextfont/_weight.py | 6 +- .../histogram/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../histogram/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../histogram/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../histogram/outsidetextfont/__init__.py | 6 + .../outsidetextfont/_lineposition.py | 18 + .../histogram/outsidetextfont/_shadow.py | 13 + .../histogram/outsidetextfont/_textcase.py | 14 + .../histogram/outsidetextfont/_weight.py | 6 +- .../validators/histogram/textfont/__init__.py | 6 + .../histogram/textfont/_lineposition.py | 15 + .../validators/histogram/textfont/_shadow.py | 13 + .../histogram/textfont/_textcase.py | 14 + .../validators/histogram/textfont/_weight.py | 6 +- .../validators/histogram2d/_textfont.py | 15 + .../histogram2d/colorbar/_tickfont.py | 15 + .../histogram2d/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../histogram2d/colorbar/tickfont/_shadow.py | 16 + .../colorbar/tickfont/_textcase.py | 17 + .../histogram2d/colorbar/tickfont/_weight.py | 6 +- .../histogram2d/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../colorbar/title/font/_weight.py | 6 +- .../histogram2d/hoverlabel/_font.py | 24 + .../histogram2d/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../histogram2d/hoverlabel/font/_shadow.py | 14 + .../histogram2d/hoverlabel/font/_shadowsrc.py | 16 + .../histogram2d/hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../histogram2d/hoverlabel/font/_weight.py | 6 +- .../histogram2d/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../histogram2d/textfont/__init__.py | 6 + .../histogram2d/textfont/_lineposition.py | 15 + .../histogram2d/textfont/_shadow.py | 13 + .../histogram2d/textfont/_textcase.py | 14 + .../histogram2d/textfont/_weight.py | 6 +- .../histogram2dcontour/_textfont.py | 15 + .../histogram2dcontour/colorbar/_tickfont.py | 15 + .../colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../colorbar/tickfont/_shadow.py | 16 + .../colorbar/tickfont/_textcase.py | 17 + .../colorbar/tickfont/_weight.py | 6 +- .../colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../colorbar/title/font/_weight.py | 6 +- .../histogram2dcontour/contours/_labelfont.py | 15 + .../contours/labelfont/__init__.py | 6 + .../contours/labelfont/_lineposition.py | 18 + .../contours/labelfont/_shadow.py | 16 + .../contours/labelfont/_textcase.py | 17 + .../contours/labelfont/_weight.py | 6 +- .../histogram2dcontour/hoverlabel/_font.py | 24 + .../hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../hoverlabel/font/_weight.py | 6 +- .../legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../histogram2dcontour/textfont/__init__.py | 6 + .../textfont/_lineposition.py | 18 + .../histogram2dcontour/textfont/_shadow.py | 13 + .../histogram2dcontour/textfont/_textcase.py | 17 + .../histogram2dcontour/textfont/_weight.py | 6 +- .../validators/icicle/_insidetextfont.py | 24 + .../validators/icicle/_outsidetextfont.py | 24 + .../plotly/validators/icicle/_textfont.py | 24 + .../validators/icicle/hoverlabel/_font.py | 24 + .../icicle/hoverlabel/font/__init__.py | 12 + .../icicle/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../icicle/hoverlabel/font/_shadow.py | 14 + .../icicle/hoverlabel/font/_shadowsrc.py | 13 + .../icicle/hoverlabel/font/_textcase.py | 15 + .../icicle/hoverlabel/font/_textcasesrc.py | 13 + .../icicle/hoverlabel/font/_weight.py | 6 +- .../icicle/insidetextfont/__init__.py | 12 + .../icicle/insidetextfont/_lineposition.py | 16 + .../icicle/insidetextfont/_linepositionsrc.py | 16 + .../icicle/insidetextfont/_shadow.py | 14 + .../icicle/insidetextfont/_shadowsrc.py | 13 + .../icicle/insidetextfont/_textcase.py | 15 + .../icicle/insidetextfont/_textcasesrc.py | 13 + .../icicle/insidetextfont/_weight.py | 6 +- .../icicle/legendgrouptitle/_font.py | 15 + .../icicle/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../icicle/legendgrouptitle/font/_shadow.py | 13 + .../icicle/legendgrouptitle/font/_textcase.py | 17 + .../icicle/legendgrouptitle/font/_weight.py | 6 +- .../icicle/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../icicle/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../icicle/outsidetextfont/__init__.py | 12 + .../icicle/outsidetextfont/_lineposition.py | 16 + .../outsidetextfont/_linepositionsrc.py | 16 + .../icicle/outsidetextfont/_shadow.py | 14 + .../icicle/outsidetextfont/_shadowsrc.py | 13 + .../icicle/outsidetextfont/_textcase.py | 15 + .../icicle/outsidetextfont/_textcasesrc.py | 13 + .../icicle/outsidetextfont/_weight.py | 6 +- .../validators/icicle/pathbar/_textfont.py | 24 + .../icicle/pathbar/textfont/__init__.py | 12 + .../icicle/pathbar/textfont/_lineposition.py | 19 + .../pathbar/textfont/_linepositionsrc.py | 16 + .../icicle/pathbar/textfont/_shadow.py | 14 + .../icicle/pathbar/textfont/_shadowsrc.py | 13 + .../icicle/pathbar/textfont/_textcase.py | 15 + .../icicle/pathbar/textfont/_textcasesrc.py | 13 + .../icicle/pathbar/textfont/_weight.py | 6 +- .../validators/icicle/textfont/__init__.py | 12 + .../icicle/textfont/_lineposition.py | 16 + .../icicle/textfont/_linepositionsrc.py | 13 + .../validators/icicle/textfont/_shadow.py | 12 + .../validators/icicle/textfont/_shadowsrc.py | 13 + .../validators/icicle/textfont/_textcase.py | 13 + .../icicle/textfont/_textcasesrc.py | 13 + .../validators/icicle/textfont/_weight.py | 6 +- .../validators/image/hoverlabel/_font.py | 24 + .../image/hoverlabel/font/__init__.py | 12 + .../image/hoverlabel/font/_lineposition.py | 16 + .../image/hoverlabel/font/_linepositionsrc.py | 16 + .../image/hoverlabel/font/_shadow.py | 14 + .../image/hoverlabel/font/_shadowsrc.py | 13 + .../image/hoverlabel/font/_textcase.py | 15 + .../image/hoverlabel/font/_textcasesrc.py | 13 + .../image/hoverlabel/font/_weight.py | 6 +- .../image/legendgrouptitle/_font.py | 15 + .../image/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../image/legendgrouptitle/font/_shadow.py | 13 + .../image/legendgrouptitle/font/_textcase.py | 17 + .../image/legendgrouptitle/font/_weight.py | 6 +- .../validators/indicator/delta/_font.py | 15 + .../indicator/delta/font/__init__.py | 6 + .../indicator/delta/font/_lineposition.py | 15 + .../indicator/delta/font/_shadow.py | 13 + .../indicator/delta/font/_textcase.py | 14 + .../indicator/delta/font/_weight.py | 6 +- .../indicator/gauge/axis/_tickfont.py | 15 + .../indicator/gauge/axis/tickfont/__init__.py | 6 + .../gauge/axis/tickfont/_lineposition.py | 18 + .../indicator/gauge/axis/tickfont/_shadow.py | 16 + .../gauge/axis/tickfont/_textcase.py | 17 + .../indicator/gauge/axis/tickfont/_weight.py | 6 +- .../indicator/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../validators/indicator/number/_font.py | 15 + .../indicator/number/font/__init__.py | 6 + .../indicator/number/font/_lineposition.py | 15 + .../indicator/number/font/_shadow.py | 13 + .../indicator/number/font/_textcase.py | 14 + .../indicator/number/font/_weight.py | 6 +- .../validators/indicator/title/_font.py | 15 + .../indicator/title/font/__init__.py | 6 + .../indicator/title/font/_lineposition.py | 15 + .../indicator/title/font/_shadow.py | 13 + .../indicator/title/font/_textcase.py | 14 + .../indicator/title/font/_weight.py | 6 +- .../isosurface/colorbar/_tickfont.py | 15 + .../isosurface/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../isosurface/colorbar/tickfont/_shadow.py | 13 + .../isosurface/colorbar/tickfont/_textcase.py | 17 + .../isosurface/colorbar/tickfont/_weight.py | 6 +- .../isosurface/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../isosurface/colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../isosurface/colorbar/title/font/_weight.py | 6 +- .../validators/isosurface/hoverlabel/_font.py | 24 + .../isosurface/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../isosurface/hoverlabel/font/_shadow.py | 14 + .../isosurface/hoverlabel/font/_shadowsrc.py | 16 + .../isosurface/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../isosurface/hoverlabel/font/_weight.py | 6 +- .../isosurface/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../plotly/plotly/validators/layout/_font.py | 15 + .../validators/layout/annotation/_font.py | 15 + .../layout/annotation/font/__init__.py | 6 + .../layout/annotation/font/_lineposition.py | 15 + .../layout/annotation/font/_shadow.py | 13 + .../layout/annotation/font/_textcase.py | 14 + .../layout/annotation/font/_weight.py | 6 +- .../layout/annotation/hoverlabel/_font.py | 15 + .../annotation/hoverlabel/font/__init__.py | 6 + .../hoverlabel/font/_lineposition.py | 18 + .../annotation/hoverlabel/font/_shadow.py | 16 + .../annotation/hoverlabel/font/_textcase.py | 17 + .../annotation/hoverlabel/font/_weight.py | 6 +- .../layout/coloraxis/colorbar/_tickfont.py | 15 + .../coloraxis/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../coloraxis/colorbar/tickfont/_shadow.py | 16 + .../coloraxis/colorbar/tickfont/_textcase.py | 17 + .../coloraxis/colorbar/tickfont/_weight.py | 6 +- .../layout/coloraxis/colorbar/title/_font.py | 15 + .../coloraxis/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../coloraxis/colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../coloraxis/colorbar/title/font/_weight.py | 6 +- .../plotly/validators/layout/font/__init__.py | 6 + .../validators/layout/font/_lineposition.py | 13 + .../plotly/validators/layout/font/_shadow.py | 11 + .../validators/layout/font/_textcase.py | 12 + .../plotly/validators/layout/font/_weight.py | 6 +- .../validators/layout/hoverlabel/_font.py | 15 + .../layout/hoverlabel/_grouptitlefont.py | 15 + .../layout/hoverlabel/font/__init__.py | 6 + .../layout/hoverlabel/font/_lineposition.py | 15 + .../layout/hoverlabel/font/_shadow.py | 13 + .../layout/hoverlabel/font/_textcase.py | 14 + .../layout/hoverlabel/font/_weight.py | 6 +- .../hoverlabel/grouptitlefont/__init__.py | 6 + .../grouptitlefont/_lineposition.py | 18 + .../hoverlabel/grouptitlefont/_shadow.py | 16 + .../hoverlabel/grouptitlefont/_textcase.py | 17 + .../hoverlabel/grouptitlefont/_weight.py | 6 +- .../plotly/validators/layout/legend/_font.py | 15 + .../layout/legend/_grouptitlefont.py | 15 + .../validators/layout/legend/font/__init__.py | 6 + .../layout/legend/font/_lineposition.py | 15 + .../validators/layout/legend/font/_shadow.py | 13 + .../layout/legend/font/_textcase.py | 14 + .../validators/layout/legend/font/_weight.py | 6 +- .../layout/legend/grouptitlefont/__init__.py | 6 + .../legend/grouptitlefont/_lineposition.py | 18 + .../layout/legend/grouptitlefont/_shadow.py | 13 + .../layout/legend/grouptitlefont/_textcase.py | 17 + .../layout/legend/grouptitlefont/_weight.py | 6 +- .../validators/layout/legend/title/_font.py | 15 + .../layout/legend/title/font/__init__.py | 6 + .../layout/legend/title/font/_lineposition.py | 18 + .../layout/legend/title/font/_shadow.py | 13 + .../layout/legend/title/font/_textcase.py | 14 + .../layout/legend/title/font/_weight.py | 6 +- .../mapbox/layer/symbol/textfont/_weight.py | 6 +- .../validators/layout/newshape/label/_font.py | 15 + .../layout/newshape/label/font/__init__.py | 6 + .../newshape/label/font/_lineposition.py | 18 + .../layout/newshape/label/font/_shadow.py | 13 + .../layout/newshape/label/font/_textcase.py | 14 + .../layout/newshape/label/font/_weight.py | 6 +- .../layout/newshape/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../newshape/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../newshape/legendgrouptitle/font/_weight.py | 6 +- .../layout/polar/angularaxis/_tickfont.py | 15 + .../polar/angularaxis/tickfont/__init__.py | 6 + .../angularaxis/tickfont/_lineposition.py | 18 + .../polar/angularaxis/tickfont/_shadow.py | 16 + .../polar/angularaxis/tickfont/_textcase.py | 17 + .../polar/angularaxis/tickfont/_weight.py | 6 +- .../layout/polar/radialaxis/_tickfont.py | 15 + .../polar/radialaxis/tickfont/__init__.py | 6 + .../radialaxis/tickfont/_lineposition.py | 18 + .../polar/radialaxis/tickfont/_shadow.py | 16 + .../polar/radialaxis/tickfont/_textcase.py | 17 + .../polar/radialaxis/tickfont/_weight.py | 6 +- .../layout/polar/radialaxis/title/_font.py | 15 + .../polar/radialaxis/title/font/__init__.py | 6 + .../radialaxis/title/font/_lineposition.py | 18 + .../polar/radialaxis/title/font/_shadow.py | 16 + .../polar/radialaxis/title/font/_textcase.py | 17 + .../polar/radialaxis/title/font/_weight.py | 6 +- .../layout/scene/annotation/_font.py | 15 + .../layout/scene/annotation/font/__init__.py | 6 + .../scene/annotation/font/_lineposition.py | 18 + .../layout/scene/annotation/font/_shadow.py | 13 + .../layout/scene/annotation/font/_textcase.py | 17 + .../layout/scene/annotation/font/_weight.py | 6 +- .../scene/annotation/hoverlabel/_font.py | 15 + .../annotation/hoverlabel/font/__init__.py | 6 + .../hoverlabel/font/_lineposition.py | 18 + .../annotation/hoverlabel/font/_shadow.py | 16 + .../annotation/hoverlabel/font/_textcase.py | 17 + .../annotation/hoverlabel/font/_weight.py | 6 +- .../layout/scene/xaxis/_tickfont.py | 15 + .../layout/scene/xaxis/tickfont/__init__.py | 6 + .../scene/xaxis/tickfont/_lineposition.py | 18 + .../layout/scene/xaxis/tickfont/_shadow.py | 13 + .../layout/scene/xaxis/tickfont/_textcase.py | 17 + .../layout/scene/xaxis/tickfont/_weight.py | 6 +- .../layout/scene/xaxis/title/_font.py | 15 + .../layout/scene/xaxis/title/font/__init__.py | 6 + .../scene/xaxis/title/font/_lineposition.py | 18 + .../layout/scene/xaxis/title/font/_shadow.py | 16 + .../scene/xaxis/title/font/_textcase.py | 17 + .../layout/scene/xaxis/title/font/_weight.py | 6 +- .../layout/scene/yaxis/_tickfont.py | 15 + .../layout/scene/yaxis/tickfont/__init__.py | 6 + .../scene/yaxis/tickfont/_lineposition.py | 18 + .../layout/scene/yaxis/tickfont/_shadow.py | 13 + .../layout/scene/yaxis/tickfont/_textcase.py | 17 + .../layout/scene/yaxis/tickfont/_weight.py | 6 +- .../layout/scene/yaxis/title/_font.py | 15 + .../layout/scene/yaxis/title/font/__init__.py | 6 + .../scene/yaxis/title/font/_lineposition.py | 18 + .../layout/scene/yaxis/title/font/_shadow.py | 16 + .../scene/yaxis/title/font/_textcase.py | 17 + .../layout/scene/yaxis/title/font/_weight.py | 6 +- .../layout/scene/zaxis/_tickfont.py | 15 + .../layout/scene/zaxis/tickfont/__init__.py | 6 + .../scene/zaxis/tickfont/_lineposition.py | 18 + .../layout/scene/zaxis/tickfont/_shadow.py | 13 + .../layout/scene/zaxis/tickfont/_textcase.py | 17 + .../layout/scene/zaxis/tickfont/_weight.py | 6 +- .../layout/scene/zaxis/title/_font.py | 15 + .../layout/scene/zaxis/title/font/__init__.py | 6 + .../scene/zaxis/title/font/_lineposition.py | 18 + .../layout/scene/zaxis/title/font/_shadow.py | 16 + .../scene/zaxis/title/font/_textcase.py | 17 + .../layout/scene/zaxis/title/font/_weight.py | 6 +- .../validators/layout/shape/label/_font.py | 15 + .../layout/shape/label/font/__init__.py | 6 + .../layout/shape/label/font/_lineposition.py | 18 + .../layout/shape/label/font/_shadow.py | 13 + .../layout/shape/label/font/_textcase.py | 14 + .../layout/shape/label/font/_weight.py | 6 +- .../layout/shape/legendgrouptitle/_font.py | 15 + .../shape/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../shape/legendgrouptitle/font/_shadow.py | 16 + .../shape/legendgrouptitle/font/_textcase.py | 17 + .../shape/legendgrouptitle/font/_weight.py | 6 +- .../plotly/validators/layout/slider/_font.py | 15 + .../layout/slider/currentvalue/_font.py | 15 + .../slider/currentvalue/font/__init__.py | 6 + .../slider/currentvalue/font/_lineposition.py | 18 + .../slider/currentvalue/font/_shadow.py | 16 + .../slider/currentvalue/font/_textcase.py | 17 + .../slider/currentvalue/font/_weight.py | 6 +- .../validators/layout/slider/font/__init__.py | 6 + .../layout/slider/font/_lineposition.py | 15 + .../validators/layout/slider/font/_shadow.py | 13 + .../layout/slider/font/_textcase.py | 14 + .../validators/layout/slider/font/_weight.py | 6 +- .../layout/smith/imaginaryaxis/_tickfont.py | 15 + .../smith/imaginaryaxis/tickfont/__init__.py | 6 + .../imaginaryaxis/tickfont/_lineposition.py | 18 + .../smith/imaginaryaxis/tickfont/_shadow.py | 16 + .../smith/imaginaryaxis/tickfont/_textcase.py | 17 + .../smith/imaginaryaxis/tickfont/_weight.py | 6 +- .../layout/smith/realaxis/_tickfont.py | 15 + .../smith/realaxis/tickfont/__init__.py | 6 + .../smith/realaxis/tickfont/_lineposition.py | 18 + .../layout/smith/realaxis/tickfont/_shadow.py | 16 + .../smith/realaxis/tickfont/_textcase.py | 17 + .../layout/smith/realaxis/tickfont/_weight.py | 6 +- .../layout/ternary/aaxis/_tickfont.py | 15 + .../layout/ternary/aaxis/tickfont/__init__.py | 6 + .../ternary/aaxis/tickfont/_lineposition.py | 18 + .../layout/ternary/aaxis/tickfont/_shadow.py | 16 + .../ternary/aaxis/tickfont/_textcase.py | 17 + .../layout/ternary/aaxis/tickfont/_weight.py | 6 +- .../layout/ternary/aaxis/title/_font.py | 15 + .../ternary/aaxis/title/font/__init__.py | 6 + .../ternary/aaxis/title/font/_lineposition.py | 18 + .../ternary/aaxis/title/font/_shadow.py | 16 + .../ternary/aaxis/title/font/_textcase.py | 17 + .../ternary/aaxis/title/font/_weight.py | 6 +- .../layout/ternary/baxis/_tickfont.py | 15 + .../layout/ternary/baxis/tickfont/__init__.py | 6 + .../ternary/baxis/tickfont/_lineposition.py | 18 + .../layout/ternary/baxis/tickfont/_shadow.py | 16 + .../ternary/baxis/tickfont/_textcase.py | 17 + .../layout/ternary/baxis/tickfont/_weight.py | 6 +- .../layout/ternary/baxis/title/_font.py | 15 + .../ternary/baxis/title/font/__init__.py | 6 + .../ternary/baxis/title/font/_lineposition.py | 18 + .../ternary/baxis/title/font/_shadow.py | 16 + .../ternary/baxis/title/font/_textcase.py | 17 + .../ternary/baxis/title/font/_weight.py | 6 +- .../layout/ternary/caxis/_tickfont.py | 15 + .../layout/ternary/caxis/tickfont/__init__.py | 6 + .../ternary/caxis/tickfont/_lineposition.py | 18 + .../layout/ternary/caxis/tickfont/_shadow.py | 16 + .../ternary/caxis/tickfont/_textcase.py | 17 + .../layout/ternary/caxis/tickfont/_weight.py | 6 +- .../layout/ternary/caxis/title/_font.py | 15 + .../ternary/caxis/title/font/__init__.py | 6 + .../ternary/caxis/title/font/_lineposition.py | 18 + .../ternary/caxis/title/font/_shadow.py | 16 + .../ternary/caxis/title/font/_textcase.py | 17 + .../ternary/caxis/title/font/_weight.py | 6 +- .../plotly/validators/layout/title/_font.py | 15 + .../validators/layout/title/font/__init__.py | 6 + .../layout/title/font/_lineposition.py | 15 + .../validators/layout/title/font/_shadow.py | 11 + .../validators/layout/title/font/_textcase.py | 14 + .../validators/layout/title/font/_weight.py | 6 +- .../validators/layout/updatemenu/_font.py | 15 + .../layout/updatemenu/font/__init__.py | 6 + .../layout/updatemenu/font/_lineposition.py | 15 + .../layout/updatemenu/font/_shadow.py | 13 + .../layout/updatemenu/font/_textcase.py | 14 + .../layout/updatemenu/font/_weight.py | 6 +- .../validators/layout/xaxis/_tickfont.py | 15 + .../layout/xaxis/rangeselector/_font.py | 15 + .../xaxis/rangeselector/font/__init__.py | 6 + .../xaxis/rangeselector/font/_lineposition.py | 18 + .../xaxis/rangeselector/font/_shadow.py | 16 + .../xaxis/rangeselector/font/_textcase.py | 17 + .../xaxis/rangeselector/font/_weight.py | 6 +- .../layout/xaxis/tickfont/__init__.py | 6 + .../layout/xaxis/tickfont/_lineposition.py | 15 + .../layout/xaxis/tickfont/_shadow.py | 13 + .../layout/xaxis/tickfont/_textcase.py | 14 + .../layout/xaxis/tickfont/_weight.py | 6 +- .../validators/layout/xaxis/title/_font.py | 15 + .../layout/xaxis/title/font/__init__.py | 6 + .../layout/xaxis/title/font/_lineposition.py | 18 + .../layout/xaxis/title/font/_shadow.py | 13 + .../layout/xaxis/title/font/_textcase.py | 14 + .../layout/xaxis/title/font/_weight.py | 6 +- .../validators/layout/yaxis/_tickfont.py | 15 + .../layout/yaxis/tickfont/__init__.py | 6 + .../layout/yaxis/tickfont/_lineposition.py | 15 + .../layout/yaxis/tickfont/_shadow.py | 13 + .../layout/yaxis/tickfont/_textcase.py | 14 + .../layout/yaxis/tickfont/_weight.py | 6 +- .../validators/layout/yaxis/title/_font.py | 15 + .../layout/yaxis/title/font/__init__.py | 6 + .../layout/yaxis/title/font/_lineposition.py | 18 + .../layout/yaxis/title/font/_shadow.py | 13 + .../layout/yaxis/title/font/_textcase.py | 14 + .../layout/yaxis/title/font/_weight.py | 6 +- .../validators/mesh3d/colorbar/_tickfont.py | 15 + .../mesh3d/colorbar/tickfont/__init__.py | 6 + .../mesh3d/colorbar/tickfont/_lineposition.py | 18 + .../mesh3d/colorbar/tickfont/_shadow.py | 13 + .../mesh3d/colorbar/tickfont/_textcase.py | 14 + .../mesh3d/colorbar/tickfont/_weight.py | 6 +- .../validators/mesh3d/colorbar/title/_font.py | 15 + .../mesh3d/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../mesh3d/colorbar/title/font/_shadow.py | 13 + .../mesh3d/colorbar/title/font/_textcase.py | 14 + .../mesh3d/colorbar/title/font/_weight.py | 6 +- .../validators/mesh3d/hoverlabel/_font.py | 24 + .../mesh3d/hoverlabel/font/__init__.py | 12 + .../mesh3d/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../mesh3d/hoverlabel/font/_shadow.py | 14 + .../mesh3d/hoverlabel/font/_shadowsrc.py | 13 + .../mesh3d/hoverlabel/font/_textcase.py | 15 + .../mesh3d/hoverlabel/font/_textcasesrc.py | 13 + .../mesh3d/hoverlabel/font/_weight.py | 6 +- .../mesh3d/legendgrouptitle/_font.py | 15 + .../mesh3d/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../mesh3d/legendgrouptitle/font/_shadow.py | 13 + .../mesh3d/legendgrouptitle/font/_textcase.py | 17 + .../mesh3d/legendgrouptitle/font/_weight.py | 6 +- .../validators/ohlc/hoverlabel/_font.py | 24 + .../ohlc/hoverlabel/font/__init__.py | 12 + .../ohlc/hoverlabel/font/_lineposition.py | 16 + .../ohlc/hoverlabel/font/_linepositionsrc.py | 16 + .../ohlc/hoverlabel/font/_shadow.py | 14 + .../ohlc/hoverlabel/font/_shadowsrc.py | 13 + .../ohlc/hoverlabel/font/_textcase.py | 15 + .../ohlc/hoverlabel/font/_textcasesrc.py | 13 + .../ohlc/hoverlabel/font/_weight.py | 6 +- .../validators/ohlc/legendgrouptitle/_font.py | 15 + .../ohlc/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../ohlc/legendgrouptitle/font/_shadow.py | 13 + .../ohlc/legendgrouptitle/font/_textcase.py | 14 + .../ohlc/legendgrouptitle/font/_weight.py | 6 +- .../plotly/validators/parcats/_labelfont.py | 15 + .../plotly/validators/parcats/_tickfont.py | 15 + .../validators/parcats/labelfont/__init__.py | 6 + .../parcats/labelfont/_lineposition.py | 15 + .../validators/parcats/labelfont/_shadow.py | 11 + .../validators/parcats/labelfont/_textcase.py | 14 + .../validators/parcats/labelfont/_weight.py | 6 +- .../parcats/legendgrouptitle/_font.py | 15 + .../parcats/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../parcats/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../parcats/legendgrouptitle/font/_weight.py | 6 +- .../parcats/line/colorbar/_tickfont.py | 15 + .../line/colorbar/tickfont/__init__.py | 6 + .../line/colorbar/tickfont/_lineposition.py | 18 + .../parcats/line/colorbar/tickfont/_shadow.py | 16 + .../line/colorbar/tickfont/_textcase.py | 17 + .../parcats/line/colorbar/tickfont/_weight.py | 6 +- .../parcats/line/colorbar/title/_font.py | 15 + .../line/colorbar/title/font/__init__.py | 6 + .../line/colorbar/title/font/_lineposition.py | 18 + .../line/colorbar/title/font/_shadow.py | 16 + .../line/colorbar/title/font/_textcase.py | 17 + .../line/colorbar/title/font/_weight.py | 6 +- .../validators/parcats/tickfont/__init__.py | 6 + .../parcats/tickfont/_lineposition.py | 15 + .../validators/parcats/tickfont/_shadow.py | 11 + .../validators/parcats/tickfont/_textcase.py | 14 + .../validators/parcats/tickfont/_weight.py | 6 +- .../plotly/validators/parcoords/_labelfont.py | 15 + .../plotly/validators/parcoords/_rangefont.py | 15 + .../plotly/validators/parcoords/_tickfont.py | 15 + .../parcoords/labelfont/__init__.py | 6 + .../parcoords/labelfont/_lineposition.py | 15 + .../validators/parcoords/labelfont/_shadow.py | 13 + .../parcoords/labelfont/_textcase.py | 14 + .../validators/parcoords/labelfont/_weight.py | 6 +- .../parcoords/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../parcoords/line/colorbar/_tickfont.py | 15 + .../line/colorbar/tickfont/__init__.py | 6 + .../line/colorbar/tickfont/_lineposition.py | 18 + .../line/colorbar/tickfont/_shadow.py | 16 + .../line/colorbar/tickfont/_textcase.py | 17 + .../line/colorbar/tickfont/_weight.py | 6 +- .../parcoords/line/colorbar/title/_font.py | 15 + .../line/colorbar/title/font/__init__.py | 6 + .../line/colorbar/title/font/_lineposition.py | 18 + .../line/colorbar/title/font/_shadow.py | 16 + .../line/colorbar/title/font/_textcase.py | 17 + .../line/colorbar/title/font/_weight.py | 6 +- .../parcoords/rangefont/__init__.py | 6 + .../parcoords/rangefont/_lineposition.py | 15 + .../validators/parcoords/rangefont/_shadow.py | 13 + .../parcoords/rangefont/_textcase.py | 14 + .../validators/parcoords/rangefont/_weight.py | 6 +- .../validators/parcoords/tickfont/__init__.py | 6 + .../parcoords/tickfont/_lineposition.py | 15 + .../validators/parcoords/tickfont/_shadow.py | 13 + .../parcoords/tickfont/_textcase.py | 14 + .../validators/parcoords/tickfont/_weight.py | 6 +- .../plotly/validators/pie/_insidetextfont.py | 24 + .../plotly/validators/pie/_outsidetextfont.py | 24 + .../plotly/plotly/validators/pie/_textfont.py | 24 + .../plotly/validators/pie/hoverlabel/_font.py | 24 + .../pie/hoverlabel/font/__init__.py | 12 + .../pie/hoverlabel/font/_lineposition.py | 16 + .../pie/hoverlabel/font/_linepositionsrc.py | 13 + .../validators/pie/hoverlabel/font/_shadow.py | 14 + .../pie/hoverlabel/font/_shadowsrc.py | 13 + .../pie/hoverlabel/font/_textcase.py | 15 + .../pie/hoverlabel/font/_textcasesrc.py | 13 + .../validators/pie/hoverlabel/font/_weight.py | 6 +- .../validators/pie/insidetextfont/__init__.py | 12 + .../pie/insidetextfont/_lineposition.py | 16 + .../pie/insidetextfont/_linepositionsrc.py | 13 + .../validators/pie/insidetextfont/_shadow.py | 14 + .../pie/insidetextfont/_shadowsrc.py | 13 + .../pie/insidetextfont/_textcase.py | 15 + .../pie/insidetextfont/_textcasesrc.py | 13 + .../validators/pie/insidetextfont/_weight.py | 6 +- .../validators/pie/legendgrouptitle/_font.py | 15 + .../pie/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../pie/legendgrouptitle/font/_shadow.py | 13 + .../pie/legendgrouptitle/font/_textcase.py | 14 + .../pie/legendgrouptitle/font/_weight.py | 6 +- .../pie/outsidetextfont/__init__.py | 12 + .../pie/outsidetextfont/_lineposition.py | 16 + .../pie/outsidetextfont/_linepositionsrc.py | 13 + .../validators/pie/outsidetextfont/_shadow.py | 14 + .../pie/outsidetextfont/_shadowsrc.py | 13 + .../pie/outsidetextfont/_textcase.py | 15 + .../pie/outsidetextfont/_textcasesrc.py | 13 + .../validators/pie/outsidetextfont/_weight.py | 6 +- .../validators/pie/textfont/__init__.py | 12 + .../validators/pie/textfont/_lineposition.py | 16 + .../pie/textfont/_linepositionsrc.py | 13 + .../plotly/validators/pie/textfont/_shadow.py | 12 + .../validators/pie/textfont/_shadowsrc.py | 11 + .../validators/pie/textfont/_textcase.py | 13 + .../validators/pie/textfont/_textcasesrc.py | 11 + .../plotly/validators/pie/textfont/_weight.py | 6 +- .../plotly/validators/pie/title/_font.py | 24 + .../validators/pie/title/font/__init__.py | 12 + .../pie/title/font/_lineposition.py | 16 + .../pie/title/font/_linepositionsrc.py | 13 + .../validators/pie/title/font/_shadow.py | 12 + .../validators/pie/title/font/_shadowsrc.py | 11 + .../validators/pie/title/font/_textcase.py | 13 + .../validators/pie/title/font/_textcasesrc.py | 13 + .../validators/pie/title/font/_weight.py | 6 +- .../validators/pointcloud/hoverlabel/_font.py | 24 + .../pointcloud/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../pointcloud/hoverlabel/font/_shadow.py | 14 + .../pointcloud/hoverlabel/font/_shadowsrc.py | 16 + .../pointcloud/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../pointcloud/hoverlabel/font/_weight.py | 6 +- .../pointcloud/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../plotly/validators/sankey/_textfont.py | 15 + .../validators/sankey/hoverlabel/_font.py | 24 + .../sankey/hoverlabel/font/__init__.py | 12 + .../sankey/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../sankey/hoverlabel/font/_shadow.py | 14 + .../sankey/hoverlabel/font/_shadowsrc.py | 13 + .../sankey/hoverlabel/font/_textcase.py | 15 + .../sankey/hoverlabel/font/_textcasesrc.py | 13 + .../sankey/hoverlabel/font/_weight.py | 6 +- .../sankey/legendgrouptitle/_font.py | 15 + .../sankey/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../sankey/legendgrouptitle/font/_shadow.py | 13 + .../sankey/legendgrouptitle/font/_textcase.py | 17 + .../sankey/legendgrouptitle/font/_weight.py | 6 +- .../sankey/link/hoverlabel/_font.py | 24 + .../sankey/link/hoverlabel/font/__init__.py | 12 + .../link/hoverlabel/font/_lineposition.py | 19 + .../link/hoverlabel/font/_linepositionsrc.py | 16 + .../sankey/link/hoverlabel/font/_shadow.py | 14 + .../sankey/link/hoverlabel/font/_shadowsrc.py | 16 + .../sankey/link/hoverlabel/font/_textcase.py | 18 + .../link/hoverlabel/font/_textcasesrc.py | 16 + .../sankey/link/hoverlabel/font/_weight.py | 6 +- .../sankey/node/hoverlabel/_font.py | 24 + .../sankey/node/hoverlabel/font/__init__.py | 12 + .../node/hoverlabel/font/_lineposition.py | 19 + .../node/hoverlabel/font/_linepositionsrc.py | 16 + .../sankey/node/hoverlabel/font/_shadow.py | 14 + .../sankey/node/hoverlabel/font/_shadowsrc.py | 16 + .../sankey/node/hoverlabel/font/_textcase.py | 18 + .../node/hoverlabel/font/_textcasesrc.py | 16 + .../sankey/node/hoverlabel/font/_weight.py | 6 +- .../validators/sankey/textfont/__init__.py | 6 + .../sankey/textfont/_lineposition.py | 15 + .../validators/sankey/textfont/_shadow.py | 11 + .../validators/sankey/textfont/_textcase.py | 12 + .../validators/sankey/textfont/_weight.py | 6 +- .../plotly/validators/scatter/_textfont.py | 24 + .../validators/scatter/hoverlabel/_font.py | 24 + .../scatter/hoverlabel/font/__init__.py | 12 + .../scatter/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scatter/hoverlabel/font/_shadow.py | 14 + .../scatter/hoverlabel/font/_shadowsrc.py | 13 + .../scatter/hoverlabel/font/_textcase.py | 15 + .../scatter/hoverlabel/font/_textcasesrc.py | 13 + .../scatter/hoverlabel/font/_weight.py | 6 +- .../scatter/legendgrouptitle/_font.py | 15 + .../scatter/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../scatter/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../scatter/legendgrouptitle/font/_weight.py | 6 +- .../scatter/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../scatter/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../validators/scatter/textfont/__init__.py | 12 + .../scatter/textfont/_lineposition.py | 16 + .../scatter/textfont/_linepositionsrc.py | 13 + .../validators/scatter/textfont/_shadow.py | 12 + .../validators/scatter/textfont/_shadowsrc.py | 13 + .../validators/scatter/textfont/_textcase.py | 15 + .../scatter/textfont/_textcasesrc.py | 13 + .../validators/scatter/textfont/_weight.py | 6 +- .../validators/scatter3d/hoverlabel/_font.py | 24 + .../scatter3d/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scatter3d/hoverlabel/font/_shadow.py | 14 + .../scatter3d/hoverlabel/font/_shadowsrc.py | 13 + .../scatter3d/hoverlabel/font/_textcase.py | 15 + .../scatter3d/hoverlabel/font/_textcasesrc.py | 16 + .../scatter3d/hoverlabel/font/_weight.py | 6 +- .../scatter3d/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../scatter3d/line/colorbar/_tickfont.py | 15 + .../line/colorbar/tickfont/__init__.py | 6 + .../line/colorbar/tickfont/_lineposition.py | 18 + .../line/colorbar/tickfont/_shadow.py | 16 + .../line/colorbar/tickfont/_textcase.py | 17 + .../line/colorbar/tickfont/_weight.py | 6 +- .../scatter3d/line/colorbar/title/_font.py | 15 + .../line/colorbar/title/font/__init__.py | 6 + .../line/colorbar/title/font/_lineposition.py | 18 + .../line/colorbar/title/font/_shadow.py | 16 + .../line/colorbar/title/font/_textcase.py | 17 + .../line/colorbar/title/font/_weight.py | 6 +- .../scatter3d/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../scatter3d/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../validators/scatter3d/textfont/_weight.py | 6 +- .../validators/scattercarpet/_textfont.py | 24 + .../scattercarpet/hoverlabel/_font.py | 24 + .../scattercarpet/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scattercarpet/hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scattercarpet/hoverlabel/font/_weight.py | 6 +- .../scattercarpet/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scattercarpet/textfont/__init__.py | 12 + .../scattercarpet/textfont/_lineposition.py | 16 + .../textfont/_linepositionsrc.py | 16 + .../scattercarpet/textfont/_shadow.py | 14 + .../scattercarpet/textfont/_shadowsrc.py | 13 + .../scattercarpet/textfont/_textcase.py | 15 + .../scattercarpet/textfont/_textcasesrc.py | 13 + .../scattercarpet/textfont/_weight.py | 6 +- .../plotly/validators/scattergeo/_textfont.py | 24 + .../validators/scattergeo/hoverlabel/_font.py | 24 + .../scattergeo/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scattergeo/hoverlabel/font/_shadow.py | 14 + .../scattergeo/hoverlabel/font/_shadowsrc.py | 16 + .../scattergeo/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scattergeo/hoverlabel/font/_weight.py | 6 +- .../scattergeo/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../scattergeo/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../scattergeo/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scattergeo/textfont/__init__.py | 12 + .../scattergeo/textfont/_lineposition.py | 16 + .../scattergeo/textfont/_linepositionsrc.py | 13 + .../validators/scattergeo/textfont/_shadow.py | 14 + .../scattergeo/textfont/_shadowsrc.py | 13 + .../scattergeo/textfont/_textcase.py | 15 + .../scattergeo/textfont/_textcasesrc.py | 13 + .../validators/scattergeo/textfont/_weight.py | 6 +- .../validators/scattergl/hoverlabel/_font.py | 24 + .../scattergl/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scattergl/hoverlabel/font/_shadow.py | 14 + .../scattergl/hoverlabel/font/_shadowsrc.py | 13 + .../scattergl/hoverlabel/font/_textcase.py | 15 + .../scattergl/hoverlabel/font/_textcasesrc.py | 16 + .../scattergl/hoverlabel/font/_weight.py | 6 +- .../scattergl/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../scattergl/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../scattergl/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scattermapbox/hoverlabel/_font.py | 24 + .../scattermapbox/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scattermapbox/hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scattermapbox/hoverlabel/font/_weight.py | 6 +- .../scattermapbox/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scattermapbox/textfont/_weight.py | 6 +- .../validators/scatterpolar/_textfont.py | 24 + .../scatterpolar/hoverlabel/_font.py | 24 + .../scatterpolar/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scatterpolar/hoverlabel/font/_shadow.py | 14 + .../hoverlabel/font/_shadowsrc.py | 16 + .../scatterpolar/hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scatterpolar/hoverlabel/font/_weight.py | 6 +- .../scatterpolar/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../scatterpolar/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scatterpolar/textfont/__init__.py | 12 + .../scatterpolar/textfont/_lineposition.py | 16 + .../scatterpolar/textfont/_linepositionsrc.py | 16 + .../scatterpolar/textfont/_shadow.py | 14 + .../scatterpolar/textfont/_shadowsrc.py | 13 + .../scatterpolar/textfont/_textcase.py | 15 + .../scatterpolar/textfont/_textcasesrc.py | 13 + .../scatterpolar/textfont/_weight.py | 6 +- .../scatterpolargl/hoverlabel/_font.py | 24 + .../hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scatterpolargl/hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scatterpolargl/hoverlabel/font/_weight.py | 6 +- .../scatterpolargl/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../validators/scattersmith/_textfont.py | 24 + .../scattersmith/hoverlabel/_font.py | 24 + .../scattersmith/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scattersmith/hoverlabel/font/_shadow.py | 14 + .../hoverlabel/font/_shadowsrc.py | 16 + .../scattersmith/hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scattersmith/hoverlabel/font/_weight.py | 6 +- .../scattersmith/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../scattersmith/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scattersmith/textfont/__init__.py | 12 + .../scattersmith/textfont/_lineposition.py | 16 + .../scattersmith/textfont/_linepositionsrc.py | 16 + .../scattersmith/textfont/_shadow.py | 14 + .../scattersmith/textfont/_shadowsrc.py | 13 + .../scattersmith/textfont/_textcase.py | 15 + .../scattersmith/textfont/_textcasesrc.py | 13 + .../scattersmith/textfont/_weight.py | 6 +- .../validators/scatterternary/_textfont.py | 24 + .../scatterternary/hoverlabel/_font.py | 24 + .../hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../scatterternary/hoverlabel/font/_shadow.py | 17 + .../hoverlabel/font/_shadowsrc.py | 16 + .../hoverlabel/font/_textcase.py | 18 + .../hoverlabel/font/_textcasesrc.py | 16 + .../scatterternary/hoverlabel/font/_weight.py | 6 +- .../scatterternary/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../scatterternary/textfont/__init__.py | 12 + .../scatterternary/textfont/_lineposition.py | 19 + .../textfont/_linepositionsrc.py | 16 + .../scatterternary/textfont/_shadow.py | 14 + .../scatterternary/textfont/_shadowsrc.py | 13 + .../scatterternary/textfont/_textcase.py | 15 + .../scatterternary/textfont/_textcasesrc.py | 13 + .../scatterternary/textfont/_weight.py | 6 +- .../validators/splom/hoverlabel/_font.py | 24 + .../splom/hoverlabel/font/__init__.py | 12 + .../splom/hoverlabel/font/_lineposition.py | 16 + .../splom/hoverlabel/font/_linepositionsrc.py | 16 + .../splom/hoverlabel/font/_shadow.py | 14 + .../splom/hoverlabel/font/_shadowsrc.py | 13 + .../splom/hoverlabel/font/_textcase.py | 15 + .../splom/hoverlabel/font/_textcasesrc.py | 13 + .../splom/hoverlabel/font/_weight.py | 6 +- .../splom/legendgrouptitle/_font.py | 15 + .../splom/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../splom/legendgrouptitle/font/_shadow.py | 13 + .../splom/legendgrouptitle/font/_textcase.py | 17 + .../splom/legendgrouptitle/font/_weight.py | 6 +- .../splom/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../splom/marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../splom/marker/colorbar/tickfont/_weight.py | 6 +- .../splom/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../streamtube/colorbar/_tickfont.py | 15 + .../streamtube/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../streamtube/colorbar/tickfont/_shadow.py | 13 + .../streamtube/colorbar/tickfont/_textcase.py | 17 + .../streamtube/colorbar/tickfont/_weight.py | 6 +- .../streamtube/colorbar/title/_font.py | 15 + .../colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../streamtube/colorbar/title/font/_shadow.py | 16 + .../colorbar/title/font/_textcase.py | 17 + .../streamtube/colorbar/title/font/_weight.py | 6 +- .../validators/streamtube/hoverlabel/_font.py | 24 + .../streamtube/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../streamtube/hoverlabel/font/_shadow.py | 14 + .../streamtube/hoverlabel/font/_shadowsrc.py | 16 + .../streamtube/hoverlabel/font/_textcase.py | 15 + .../hoverlabel/font/_textcasesrc.py | 16 + .../streamtube/hoverlabel/font/_weight.py | 6 +- .../streamtube/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../validators/sunburst/_insidetextfont.py | 24 + .../validators/sunburst/_outsidetextfont.py | 24 + .../plotly/validators/sunburst/_textfont.py | 24 + .../validators/sunburst/hoverlabel/_font.py | 24 + .../sunburst/hoverlabel/font/__init__.py | 12 + .../sunburst/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../sunburst/hoverlabel/font/_shadow.py | 14 + .../sunburst/hoverlabel/font/_shadowsrc.py | 13 + .../sunburst/hoverlabel/font/_textcase.py | 15 + .../sunburst/hoverlabel/font/_textcasesrc.py | 16 + .../sunburst/hoverlabel/font/_weight.py | 6 +- .../sunburst/insidetextfont/__init__.py | 12 + .../sunburst/insidetextfont/_lineposition.py | 19 + .../insidetextfont/_linepositionsrc.py | 16 + .../sunburst/insidetextfont/_shadow.py | 14 + .../sunburst/insidetextfont/_shadowsrc.py | 13 + .../sunburst/insidetextfont/_textcase.py | 15 + .../sunburst/insidetextfont/_textcasesrc.py | 13 + .../sunburst/insidetextfont/_weight.py | 6 +- .../sunburst/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../sunburst/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../sunburst/legendgrouptitle/font/_weight.py | 6 +- .../sunburst/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../sunburst/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../sunburst/outsidetextfont/__init__.py | 12 + .../sunburst/outsidetextfont/_lineposition.py | 19 + .../outsidetextfont/_linepositionsrc.py | 16 + .../sunburst/outsidetextfont/_shadow.py | 14 + .../sunburst/outsidetextfont/_shadowsrc.py | 13 + .../sunburst/outsidetextfont/_textcase.py | 15 + .../sunburst/outsidetextfont/_textcasesrc.py | 16 + .../sunburst/outsidetextfont/_weight.py | 6 +- .../validators/sunburst/textfont/__init__.py | 12 + .../sunburst/textfont/_lineposition.py | 16 + .../sunburst/textfont/_linepositionsrc.py | 13 + .../validators/sunburst/textfont/_shadow.py | 12 + .../sunburst/textfont/_shadowsrc.py | 13 + .../validators/sunburst/textfont/_textcase.py | 15 + .../sunburst/textfont/_textcasesrc.py | 13 + .../validators/sunburst/textfont/_weight.py | 6 +- .../validators/surface/colorbar/_tickfont.py | 15 + .../surface/colorbar/tickfont/__init__.py | 6 + .../colorbar/tickfont/_lineposition.py | 18 + .../surface/colorbar/tickfont/_shadow.py | 13 + .../surface/colorbar/tickfont/_textcase.py | 14 + .../surface/colorbar/tickfont/_weight.py | 6 +- .../surface/colorbar/title/_font.py | 15 + .../surface/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../surface/colorbar/title/font/_shadow.py | 13 + .../surface/colorbar/title/font/_textcase.py | 17 + .../surface/colorbar/title/font/_weight.py | 6 +- .../validators/surface/hoverlabel/_font.py | 24 + .../surface/hoverlabel/font/__init__.py | 12 + .../surface/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../surface/hoverlabel/font/_shadow.py | 14 + .../surface/hoverlabel/font/_shadowsrc.py | 13 + .../surface/hoverlabel/font/_textcase.py | 15 + .../surface/hoverlabel/font/_textcasesrc.py | 13 + .../surface/hoverlabel/font/_weight.py | 6 +- .../surface/legendgrouptitle/_font.py | 15 + .../surface/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../surface/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../surface/legendgrouptitle/font/_weight.py | 6 +- .../plotly/validators/table/cells/_font.py | 24 + .../validators/table/cells/font/__init__.py | 12 + .../table/cells/font/_lineposition.py | 16 + .../table/cells/font/_linepositionsrc.py | 13 + .../validators/table/cells/font/_shadow.py | 12 + .../validators/table/cells/font/_shadowsrc.py | 13 + .../validators/table/cells/font/_textcase.py | 15 + .../table/cells/font/_textcasesrc.py | 13 + .../validators/table/cells/font/_weight.py | 6 +- .../plotly/validators/table/header/_font.py | 24 + .../validators/table/header/font/__init__.py | 12 + .../table/header/font/_lineposition.py | 16 + .../table/header/font/_linepositionsrc.py | 13 + .../validators/table/header/font/_shadow.py | 12 + .../table/header/font/_shadowsrc.py | 13 + .../validators/table/header/font/_textcase.py | 15 + .../table/header/font/_textcasesrc.py | 13 + .../validators/table/header/font/_weight.py | 6 +- .../validators/table/hoverlabel/_font.py | 24 + .../table/hoverlabel/font/__init__.py | 12 + .../table/hoverlabel/font/_lineposition.py | 16 + .../table/hoverlabel/font/_linepositionsrc.py | 16 + .../table/hoverlabel/font/_shadow.py | 14 + .../table/hoverlabel/font/_shadowsrc.py | 13 + .../table/hoverlabel/font/_textcase.py | 15 + .../table/hoverlabel/font/_textcasesrc.py | 13 + .../table/hoverlabel/font/_weight.py | 6 +- .../table/legendgrouptitle/_font.py | 15 + .../table/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../table/legendgrouptitle/font/_shadow.py | 13 + .../table/legendgrouptitle/font/_textcase.py | 17 + .../table/legendgrouptitle/font/_weight.py | 6 +- .../validators/treemap/_insidetextfont.py | 24 + .../validators/treemap/_outsidetextfont.py | 24 + .../plotly/validators/treemap/_textfont.py | 24 + .../validators/treemap/hoverlabel/_font.py | 24 + .../treemap/hoverlabel/font/__init__.py | 12 + .../treemap/hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../treemap/hoverlabel/font/_shadow.py | 14 + .../treemap/hoverlabel/font/_shadowsrc.py | 13 + .../treemap/hoverlabel/font/_textcase.py | 15 + .../treemap/hoverlabel/font/_textcasesrc.py | 13 + .../treemap/hoverlabel/font/_weight.py | 6 +- .../treemap/insidetextfont/__init__.py | 12 + .../treemap/insidetextfont/_lineposition.py | 16 + .../insidetextfont/_linepositionsrc.py | 16 + .../treemap/insidetextfont/_shadow.py | 14 + .../treemap/insidetextfont/_shadowsrc.py | 13 + .../treemap/insidetextfont/_textcase.py | 15 + .../treemap/insidetextfont/_textcasesrc.py | 13 + .../treemap/insidetextfont/_weight.py | 6 +- .../treemap/legendgrouptitle/_font.py | 15 + .../treemap/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../treemap/legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../treemap/legendgrouptitle/font/_weight.py | 6 +- .../treemap/marker/colorbar/_tickfont.py | 15 + .../marker/colorbar/tickfont/__init__.py | 6 + .../marker/colorbar/tickfont/_lineposition.py | 18 + .../marker/colorbar/tickfont/_shadow.py | 16 + .../marker/colorbar/tickfont/_textcase.py | 17 + .../marker/colorbar/tickfont/_weight.py | 6 +- .../treemap/marker/colorbar/title/_font.py | 15 + .../marker/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../marker/colorbar/title/font/_shadow.py | 16 + .../marker/colorbar/title/font/_textcase.py | 17 + .../marker/colorbar/title/font/_weight.py | 6 +- .../treemap/outsidetextfont/__init__.py | 12 + .../treemap/outsidetextfont/_lineposition.py | 19 + .../outsidetextfont/_linepositionsrc.py | 16 + .../treemap/outsidetextfont/_shadow.py | 14 + .../treemap/outsidetextfont/_shadowsrc.py | 13 + .../treemap/outsidetextfont/_textcase.py | 15 + .../treemap/outsidetextfont/_textcasesrc.py | 13 + .../treemap/outsidetextfont/_weight.py | 6 +- .../validators/treemap/pathbar/_textfont.py | 24 + .../treemap/pathbar/textfont/__init__.py | 12 + .../treemap/pathbar/textfont/_lineposition.py | 19 + .../pathbar/textfont/_linepositionsrc.py | 16 + .../treemap/pathbar/textfont/_shadow.py | 14 + .../treemap/pathbar/textfont/_shadowsrc.py | 13 + .../treemap/pathbar/textfont/_textcase.py | 15 + .../treemap/pathbar/textfont/_textcasesrc.py | 16 + .../treemap/pathbar/textfont/_weight.py | 6 +- .../validators/treemap/textfont/__init__.py | 12 + .../treemap/textfont/_lineposition.py | 16 + .../treemap/textfont/_linepositionsrc.py | 13 + .../validators/treemap/textfont/_shadow.py | 12 + .../validators/treemap/textfont/_shadowsrc.py | 13 + .../validators/treemap/textfont/_textcase.py | 15 + .../treemap/textfont/_textcasesrc.py | 13 + .../validators/treemap/textfont/_weight.py | 6 +- .../validators/violin/hoverlabel/_font.py | 24 + .../violin/hoverlabel/font/__init__.py | 12 + .../violin/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../violin/hoverlabel/font/_shadow.py | 14 + .../violin/hoverlabel/font/_shadowsrc.py | 13 + .../violin/hoverlabel/font/_textcase.py | 15 + .../violin/hoverlabel/font/_textcasesrc.py | 13 + .../violin/hoverlabel/font/_weight.py | 6 +- .../violin/legendgrouptitle/_font.py | 15 + .../violin/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../violin/legendgrouptitle/font/_shadow.py | 13 + .../violin/legendgrouptitle/font/_textcase.py | 17 + .../violin/legendgrouptitle/font/_weight.py | 6 +- .../validators/volume/colorbar/_tickfont.py | 15 + .../volume/colorbar/tickfont/__init__.py | 6 + .../volume/colorbar/tickfont/_lineposition.py | 18 + .../volume/colorbar/tickfont/_shadow.py | 13 + .../volume/colorbar/tickfont/_textcase.py | 14 + .../volume/colorbar/tickfont/_weight.py | 6 +- .../validators/volume/colorbar/title/_font.py | 15 + .../volume/colorbar/title/font/__init__.py | 6 + .../colorbar/title/font/_lineposition.py | 18 + .../volume/colorbar/title/font/_shadow.py | 13 + .../volume/colorbar/title/font/_textcase.py | 14 + .../volume/colorbar/title/font/_weight.py | 6 +- .../validators/volume/hoverlabel/_font.py | 24 + .../volume/hoverlabel/font/__init__.py | 12 + .../volume/hoverlabel/font/_lineposition.py | 16 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../volume/hoverlabel/font/_shadow.py | 14 + .../volume/hoverlabel/font/_shadowsrc.py | 13 + .../volume/hoverlabel/font/_textcase.py | 15 + .../volume/hoverlabel/font/_textcasesrc.py | 13 + .../volume/hoverlabel/font/_weight.py | 6 +- .../volume/legendgrouptitle/_font.py | 15 + .../volume/legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../volume/legendgrouptitle/font/_shadow.py | 13 + .../volume/legendgrouptitle/font/_textcase.py | 17 + .../volume/legendgrouptitle/font/_weight.py | 6 +- .../validators/waterfall/_insidetextfont.py | 24 + .../validators/waterfall/_outsidetextfont.py | 24 + .../plotly/validators/waterfall/_textfont.py | 24 + .../validators/waterfall/hoverlabel/_font.py | 24 + .../waterfall/hoverlabel/font/__init__.py | 12 + .../hoverlabel/font/_lineposition.py | 19 + .../hoverlabel/font/_linepositionsrc.py | 16 + .../waterfall/hoverlabel/font/_shadow.py | 14 + .../waterfall/hoverlabel/font/_shadowsrc.py | 13 + .../waterfall/hoverlabel/font/_textcase.py | 15 + .../waterfall/hoverlabel/font/_textcasesrc.py | 16 + .../waterfall/hoverlabel/font/_weight.py | 6 +- .../waterfall/insidetextfont/__init__.py | 12 + .../waterfall/insidetextfont/_lineposition.py | 19 + .../insidetextfont/_linepositionsrc.py | 16 + .../waterfall/insidetextfont/_shadow.py | 14 + .../waterfall/insidetextfont/_shadowsrc.py | 13 + .../waterfall/insidetextfont/_textcase.py | 15 + .../waterfall/insidetextfont/_textcasesrc.py | 16 + .../waterfall/insidetextfont/_weight.py | 6 +- .../waterfall/legendgrouptitle/_font.py | 15 + .../legendgrouptitle/font/__init__.py | 6 + .../legendgrouptitle/font/_lineposition.py | 18 + .../legendgrouptitle/font/_shadow.py | 16 + .../legendgrouptitle/font/_textcase.py | 17 + .../legendgrouptitle/font/_weight.py | 6 +- .../waterfall/outsidetextfont/__init__.py | 12 + .../outsidetextfont/_lineposition.py | 19 + .../outsidetextfont/_linepositionsrc.py | 16 + .../waterfall/outsidetextfont/_shadow.py | 14 + .../waterfall/outsidetextfont/_shadowsrc.py | 13 + .../waterfall/outsidetextfont/_textcase.py | 15 + .../waterfall/outsidetextfont/_textcasesrc.py | 16 + .../waterfall/outsidetextfont/_weight.py | 6 +- .../validators/waterfall/textfont/__init__.py | 12 + .../waterfall/textfont/_lineposition.py | 16 + .../waterfall/textfont/_linepositionsrc.py | 13 + .../validators/waterfall/textfont/_shadow.py | 14 + .../waterfall/textfont/_shadowsrc.py | 13 + .../waterfall/textfont/_textcase.py | 15 + .../waterfall/textfont/_textcasesrc.py | 13 + .../validators/waterfall/textfont/_weight.py | 6 +- 2365 files changed, 84384 insertions(+), 2787 deletions(-) create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/bar/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/barpolar/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/box/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/box/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/box/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/box/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/candlestick/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/aaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/baxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/carpet/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/carpet/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/carpet/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choropleth/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/choroplethmapbox/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/cone/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/cone/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/cone/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/cone/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/cone/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/contours/labelfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/contours/labelfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/contours/labelfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/contour/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contour/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contour/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contour/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/contours/labelfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/contours/labelfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/contours/labelfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/contourcarpet/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/densitymapbox/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnel/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/funnelarea/title/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmap/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/heatmapgl/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2d/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/contours/labelfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/contours/labelfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/contours/labelfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/histogram2dcontour/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/pathbar/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/icicle/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/image/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/image/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/image/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/image/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/indicator/delta/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/indicator/delta/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/indicator/delta/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/indicator/gauge/axis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/indicator/gauge/axis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/indicator/gauge/axis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/indicator/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/indicator/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/indicator/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/indicator/number/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/indicator/number/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/indicator/number/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/indicator/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/indicator/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/indicator/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/isosurface/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/grouptitlefont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/grouptitlefont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/hoverlabel/grouptitlefont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/grouptitlefont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/grouptitlefont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/grouptitlefont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/legend/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/label/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/label/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/label/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/angularaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/angularaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/angularaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/xaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/yaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/scene/zaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/label/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/label/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/label/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/currentvalue/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/currentvalue/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/currentvalue/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/slider/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/realaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/realaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/smith/realaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/baxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/ternary/caxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/updatemenu/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/updatemenu/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/updatemenu/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcats/labelfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcats/labelfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcats/labelfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcats/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcats/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcats/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcats/line/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcats/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcats/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcats/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/labelfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/labelfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/labelfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/rangefont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/rangefont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/rangefont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/parcoords/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pie/title/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sankey/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sankey/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sankey/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sankey/link/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sankey/node/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sankey/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sankey/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sankey/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattercarpet/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergeo/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolar/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scattersmith/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/scatterternary/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/splom/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/splom/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/splom/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/splom/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/splom/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/sunburst/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/surface/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/surface/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/surface/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/surface/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/surface/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/table/cells/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/table/header/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/table/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/table/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/table/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/table/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/pathbar/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/treemap/textfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/violin/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/violin/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/violin/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/violin/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/tickfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/tickfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/tickfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/title/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/title/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/volume/colorbar/title/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/volume/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/volume/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/volume/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/volume/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/hoverlabel/font/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/insidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/outsidetextfont/_textcasesrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_linepositionsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_shadowsrc.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/waterfall/textfont/_textcasesrc.py diff --git a/packages/javascript/jupyterlab-plotly/package-lock.json b/packages/javascript/jupyterlab-plotly/package-lock.json index 7f3c13d2c2..dc76f23181 100644 --- a/packages/javascript/jupyterlab-plotly/package-lock.json +++ b/packages/javascript/jupyterlab-plotly/package-lock.json @@ -14,7 +14,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.32.0" + "plotly.js": "^2.33.0" }, "devDependencies": { "@jupyterlab/builder": "^3.0.0", @@ -666,9 +666,9 @@ } }, "node_modules/@plotly/d3": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", - "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==" + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", + "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==" }, "node_modules/@plotly/d3-sankey": { "version": "0.7.2", @@ -4372,11 +4372,11 @@ } }, "node_modules/plotly.js": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.32.0.tgz", - "integrity": "sha512-QBYyfVFs1XdoXQBq/f7SoiqQD/BEyDA5WwvN1NwY4ZTrTX6GmJ5jE5ydlt1I4K8i5W6H1atgti31jcSYD6StKA==", + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.33.0.tgz", + "integrity": "sha512-pzuf6hSUCaSYmEag2b2DngkHdYMn+U/QMSC/UJOLIS8yd2UwIG1iGUmOR7pqZIS87oKx/+cMoG8aknGytgJKig==", "dependencies": { - "@plotly/d3": "3.8.1", + "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", "@plotly/mapbox-gl": "1.13.4", @@ -6916,9 +6916,9 @@ } }, "@plotly/d3": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", - "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==" + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", + "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==" }, "@plotly/d3-sankey": { "version": "0.7.2", @@ -9921,11 +9921,11 @@ } }, "plotly.js": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.32.0.tgz", - "integrity": "sha512-QBYyfVFs1XdoXQBq/f7SoiqQD/BEyDA5WwvN1NwY4ZTrTX6GmJ5jE5ydlt1I4K8i5W6H1atgti31jcSYD6StKA==", + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.33.0.tgz", + "integrity": "sha512-pzuf6hSUCaSYmEag2b2DngkHdYMn+U/QMSC/UJOLIS8yd2UwIG1iGUmOR7pqZIS87oKx/+cMoG8aknGytgJKig==", "requires": { - "@plotly/d3": "3.8.1", + "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", "@plotly/mapbox-gl": "1.13.4", diff --git a/packages/javascript/jupyterlab-plotly/package.json b/packages/javascript/jupyterlab-plotly/package.json index bb09f6412c..52dbb20ceb 100644 --- a/packages/javascript/jupyterlab-plotly/package.json +++ b/packages/javascript/jupyterlab-plotly/package.json @@ -65,7 +65,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.32.0" + "plotly.js": "^2.33.0" }, "jupyterlab": { "extension": "lib/jupyterlab-plugin", diff --git a/packages/python/plotly/codegen/resources/plot-schema.json b/packages/python/plotly/codegen/resources/plot-schema.json index b96220e021..fd2b1659e3 100644 --- a/packages/python/plotly/codegen/resources/plot-schema.json +++ b/packages/python/plotly/codegen/resources/plot-schema.json @@ -524,7 +524,8 @@ "dflt", "min", "max", - "arrayOk" + "arrayOk", + "extras" ], "requiredOpts": [] }, @@ -614,6 +615,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "layoutstyle", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "layoutstyle", + "valType": "string" + }, "size": { "editType": "layoutstyle", "min": 1, @@ -629,6 +650,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "layoutstyle", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -647,11 +680,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "layoutstyle", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -838,7 +873,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, "size": { "editType": "calc+arraydraw", "min": 1, @@ -854,6 +909,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -872,11 +939,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc+arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "height": { @@ -912,7 +981,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, "size": { "editType": "arraydraw", "min": 1, @@ -928,6 +1017,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -946,11 +1047,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object" @@ -1242,6 +1345,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -1257,6 +1380,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -1275,11 +1410,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -1496,7 +1633,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -1512,6 +1669,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -1530,11 +1699,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -1708,7 +1879,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -1724,6 +1915,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -1742,11 +1945,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -2014,7 +2219,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "dflt": 12, "editType": "calc", @@ -2031,6 +2256,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -2049,11 +2286,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "geo": { @@ -2820,7 +3059,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, "size": { "dflt": 13, "editType": "none", @@ -2837,6 +3096,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -2855,11 +3126,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "grouptitlefont": { @@ -2876,7 +3149,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, "size": { "editType": "none", "min": 1, @@ -2892,6 +3185,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -2910,11 +3215,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "namelength": { @@ -3127,7 +3434,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "legend", + "valType": "string" + }, "size": { "editType": "legend", "min": 1, @@ -3143,6 +3470,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "legend", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -3161,11 +3500,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "legend", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "groupclick": { @@ -3192,7 +3533,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "legend", + "valType": "string" + }, "size": { "editType": "legend", "min": 1, @@ -3208,6 +3569,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "legend", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -3226,11 +3599,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "legend", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "indentation": { @@ -3306,7 +3681,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "legend", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "legend", + "valType": "string" + }, "size": { "editType": "legend", "min": 1, @@ -3322,6 +3717,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "legend", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -3340,11 +3747,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "legend", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -3770,11 +4179,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textposition": { @@ -4083,7 +4494,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, "size": { "editType": "none", "min": 1, @@ -4099,6 +4530,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -4117,11 +4560,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "padding": { @@ -4231,7 +4676,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, "size": { "editType": "none", "min": 1, @@ -4247,6 +4712,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -4265,11 +4742,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -4644,7 +5123,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -4660,6 +5159,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -4678,11 +5189,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -4945,6 +5458,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -4960,6 +5493,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -4978,11 +5523,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -5391,7 +5938,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -5407,6 +5974,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -5425,11 +6004,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -5574,7 +6155,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -5590,6 +6191,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -5608,11 +6221,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -5796,7 +6411,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -5812,6 +6447,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -5830,11 +6477,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "height": { @@ -5870,7 +6519,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -5886,6 +6555,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -5904,11 +6585,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object" @@ -6305,6 +6988,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -6320,6 +7023,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -6338,11 +7053,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -6753,7 +7470,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -6769,6 +7506,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -6787,11 +7536,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -6929,7 +7680,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -6945,6 +7716,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -6963,11 +7746,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -7035,6 +7820,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -7050,6 +7855,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -7068,11 +7885,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -7483,7 +8302,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -7499,6 +8338,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -7517,11 +8368,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -7659,7 +8512,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -7675,6 +8548,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -7693,11 +8578,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -7765,6 +8652,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -7780,6 +8687,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -7798,11 +8717,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -8213,7 +9134,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -8229,6 +9170,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -8247,11 +9200,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -8389,7 +9344,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -8405,6 +9380,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -8423,11 +9410,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -8650,7 +9639,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, "size": { "editType": "calc+arraydraw", "min": 1, @@ -8666,6 +9675,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -8684,11 +9705,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc+arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "padding": { @@ -8798,7 +9821,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc+arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc+arraydraw", + "valType": "string" + }, "size": { "editType": "calc+arraydraw", "min": 1, @@ -8814,6 +9857,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc+arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -8832,11 +9887,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc+arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -9071,7 +10128,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, "size": { "editType": "arraydraw", "min": 1, @@ -9087,6 +10164,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -9105,11 +10194,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "offset": { @@ -9162,7 +10253,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, "size": { "editType": "arraydraw", "min": 1, @@ -9178,6 +10289,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -9196,11 +10319,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "len": { @@ -9672,7 +10797,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -9688,6 +10833,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -9706,11 +10863,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -9921,7 +11080,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -9937,6 +11116,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -9955,11 +11146,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -10065,6 +11258,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -10080,6 +11293,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -10098,11 +11323,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -10313,7 +11540,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -10329,6 +11576,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -10347,11 +11606,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -10496,7 +11757,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -10512,6 +11793,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -10530,11 +11823,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -10571,6 +11866,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -10586,6 +11901,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -10604,11 +11931,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -10819,7 +12148,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -10835,6 +12184,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -10853,11 +12214,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -11002,7 +12365,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -11018,6 +12401,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -11036,11 +12431,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -11083,6 +12480,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -11098,6 +12515,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -11116,11 +12545,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -11331,7 +12762,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -11347,6 +12798,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -11365,11 +12828,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -11514,7 +12979,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -11530,6 +13015,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -11548,11 +13045,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -11669,7 +13168,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "layoutstyle", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "layoutstyle", + "valType": "string" + }, "size": { "editType": "layoutstyle", "min": 1, @@ -11685,6 +13204,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "layoutstyle", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -11703,11 +13234,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "layoutstyle", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "pad": { @@ -12046,7 +13579,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "arraydraw", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "arraydraw", + "valType": "string" + }, "size": { "editType": "arraydraw", "min": 1, @@ -12062,6 +13615,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "arraydraw", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -12080,11 +13645,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "arraydraw", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "name": { @@ -12225,6 +13792,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -12240,6 +13827,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -12258,11 +13857,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -12987,7 +14588,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -13003,6 +14624,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -13021,11 +14654,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -13354,7 +14989,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -13370,6 +15025,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -13388,11 +15055,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -13586,7 +15255,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -13602,6 +15291,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -13620,11 +15321,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -13709,6 +15412,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -13724,6 +15447,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -13742,11 +15477,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } } }, @@ -14561,7 +16298,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -14577,6 +16334,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -14595,11 +16364,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -14793,7 +16564,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "ticks", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "ticks", + "valType": "string" + }, "size": { "editType": "ticks", "min": 1, @@ -14809,6 +16600,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "ticks", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -14827,11 +16630,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "ticks", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -15254,7 +17059,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -15282,6 +17119,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -15307,11 +17162,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -15406,7 +17263,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -15434,6 +17323,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -15459,11 +17366,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -15499,7 +17408,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -15515,6 +17444,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -15533,11 +17474,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -15634,6 +17577,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -15649,6 +17612,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -15667,11 +17642,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -15888,7 +17865,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -15904,6 +17901,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -15922,11 +17931,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -16100,7 +18111,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -16116,6 +18147,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -16134,11 +18177,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -16531,7 +18576,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -16559,6 +18636,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -16584,11 +18679,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -16694,7 +18791,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -16722,6 +18851,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -16747,11 +18894,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -17214,7 +19363,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -17242,6 +19423,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -17267,11 +19466,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -17356,7 +19557,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -17372,6 +19593,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -17390,11 +19623,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -17491,6 +19726,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -17506,6 +19761,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -17524,11 +19791,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -17745,7 +20014,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -17761,6 +20050,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -17779,11 +20080,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -17957,7 +20260,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -17973,6 +20296,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -17991,11 +20326,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -18713,7 +21050,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -18741,6 +21110,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -18766,11 +21153,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -18872,7 +21261,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -18888,6 +21297,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -18906,11 +21327,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -20174,7 +22597,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -20202,6 +22657,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -20227,11 +22700,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -20336,7 +22811,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -20352,6 +22847,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -20370,11 +22877,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -20696,6 +23205,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -20711,6 +23240,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -20729,11 +23270,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleoffset": { @@ -21111,7 +23654,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -21127,6 +23690,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -21145,11 +23720,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -21261,7 +23838,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -21277,6 +23874,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -21295,11 +23904,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "offset": { @@ -21366,6 +23977,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -21381,6 +24012,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -21399,11 +24042,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleoffset": { @@ -21781,7 +24426,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -21797,6 +24462,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -21815,11 +24492,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -21931,7 +24610,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -21947,6 +24646,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -21965,11 +24676,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "offset": { @@ -22059,7 +24772,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "dflt": 12, "editType": "calc", @@ -22076,6 +24809,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -22094,11 +24839,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "ids": { @@ -22134,7 +24881,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -22150,6 +24917,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -22168,11 +24947,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -22353,6 +25134,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -22368,6 +25169,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -22386,11 +25199,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -22607,7 +25422,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -22623,6 +25458,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -22641,11 +25488,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -22819,7 +25668,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -22835,6 +25704,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -22853,11 +25734,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -23068,7 +25951,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -23096,6 +26011,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -23121,11 +26054,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -23210,7 +26145,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -23226,6 +26181,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -23244,11 +26211,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -23568,6 +26537,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -23583,6 +26572,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -23601,11 +26602,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -23822,7 +26825,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -23838,6 +26861,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -23856,11 +26891,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -24034,7 +27071,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -24050,6 +27107,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -24068,11 +27137,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -24277,7 +27348,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -24305,6 +27408,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -24330,11 +27451,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -24419,7 +27542,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -24435,6 +27578,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -24453,11 +27608,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -24812,6 +27969,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -24827,6 +28004,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -24845,11 +28034,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -25066,7 +28257,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -25082,6 +28293,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -25100,11 +28323,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -25278,7 +28503,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -25294,6 +28539,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -25312,11 +28569,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -25515,7 +28774,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -25543,6 +28834,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -25568,11 +28877,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -25657,7 +28968,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -25673,6 +29004,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -25691,11 +29034,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -26075,6 +29420,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -26090,6 +29455,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -26108,11 +29485,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -26329,7 +29708,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -26345,6 +29744,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -26363,11 +29774,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -26541,7 +29954,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -26557,6 +29990,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -26575,11 +30020,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -26719,7 +30166,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -26735,6 +30202,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -26753,11 +30232,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "labelformat": { @@ -26960,7 +30441,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -26988,6 +30501,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -27013,11 +30544,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -27106,7 +30639,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -27122,6 +30675,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -27140,11 +30705,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -27292,7 +30859,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "dflt": "auto", "editType": "plot", @@ -27309,6 +30896,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -27327,11 +30926,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textsrc": { @@ -27752,6 +31353,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -27767,6 +31388,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -27785,11 +31418,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -28006,7 +31641,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -28022,6 +31677,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -28040,11 +31707,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -28218,7 +31887,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -28234,6 +31923,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -28252,11 +31953,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -28390,7 +32093,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -28406,6 +32129,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -28424,11 +32159,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "labelformat": { @@ -28588,7 +32325,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -28604,6 +32361,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -28622,11 +32391,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -28914,6 +32685,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -28929,6 +32720,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -28947,11 +32750,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -29168,7 +32973,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -29184,6 +33009,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -29202,11 +33039,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -29380,7 +33219,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -29396,6 +33255,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -29414,11 +33285,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -29613,7 +33486,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -29641,6 +33546,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -29666,11 +33589,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -29765,7 +33690,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -29781,6 +33726,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -29799,11 +33756,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -30202,7 +34161,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -30230,6 +34221,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -30255,11 +34264,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -30353,7 +34364,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -30381,6 +34424,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -30406,11 +34467,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -30446,7 +34509,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -30462,6 +34545,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -30480,11 +34575,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -30581,6 +34678,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -30596,6 +34713,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -30614,11 +34743,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -30835,7 +34966,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -30851,6 +35002,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -30869,11 +35032,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -31047,7 +35212,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -31063,6 +35248,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -31081,11 +35278,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -31374,7 +35573,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -31402,6 +35633,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -31427,11 +35676,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -31508,7 +35759,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -31536,6 +35819,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -31561,11 +35862,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -32002,7 +36305,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -32030,6 +36365,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -32055,11 +36408,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -32142,7 +36497,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -32170,6 +36557,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -32195,11 +36600,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -32251,7 +36658,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -32267,6 +36694,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -32285,11 +36724,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -32534,7 +36975,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -32562,6 +37035,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -32587,11 +37078,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -32674,7 +37167,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -32702,6 +37227,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -32727,11 +37270,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -32872,6 +37417,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -32887,6 +37452,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -32905,11 +37482,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -33126,7 +37705,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -33142,6 +37741,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -33160,11 +37771,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -33338,7 +37951,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -33354,6 +37987,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -33372,11 +38017,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -33594,7 +38241,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -33622,6 +38301,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -33647,11 +38344,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -33740,7 +38439,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -33756,6 +38475,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -33774,11 +38505,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -33882,7 +38615,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "dflt": "auto", "editType": "plot", @@ -33899,6 +38652,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -33917,11 +38682,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textsrc": { @@ -34298,6 +39065,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -34313,6 +39100,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -34331,11 +39130,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -34552,7 +39353,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -34568,6 +39389,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -34586,11 +39419,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -34764,7 +39599,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -34780,6 +39635,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -34798,11 +39665,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -35015,7 +39884,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -35043,6 +39944,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -35068,11 +39987,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -35127,7 +40048,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -35143,6 +40084,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -35161,11 +40114,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -35838,7 +40793,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -35866,6 +40853,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -35891,11 +40896,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -35977,7 +40984,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -35993,6 +41020,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -36011,11 +41050,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "legend": { @@ -36046,7 +41087,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -36062,6 +41123,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -36080,11 +41153,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -36181,6 +41256,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -36196,6 +41291,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -36214,11 +41321,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -36435,7 +41544,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -36451,6 +41580,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -36469,11 +41610,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -36647,7 +41790,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -36663,6 +41826,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -36681,11 +41856,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -37067,7 +42244,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -37083,6 +42280,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -37101,11 +42310,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "selected": { @@ -37194,7 +42405,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -37210,6 +42441,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -37228,11 +42471,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textposition": { @@ -37573,6 +42818,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -37588,6 +42853,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -37606,11 +42883,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -37827,7 +43106,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -37843,6 +43142,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -37861,11 +43172,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -38039,7 +43352,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -38055,6 +43388,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -38073,11 +43418,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -38298,7 +43645,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -38326,6 +43705,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -38351,11 +43748,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -38428,7 +43827,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -38444,6 +43863,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -38462,11 +43893,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -38593,7 +44026,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "dflt": "auto", "editType": "plot", @@ -38610,6 +44063,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -38628,11 +44093,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "texttemplate": { @@ -38965,6 +44432,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -38980,6 +44467,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -38998,11 +44497,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -39219,7 +44720,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -39235,6 +44756,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -39253,11 +44786,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -39431,7 +44966,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -39447,6 +45002,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -39465,11 +45032,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -39604,7 +45173,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -39620,6 +45209,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -39638,11 +45239,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "labelformat": { @@ -39848,7 +45451,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -39876,6 +45511,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -39901,11 +45554,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -39978,7 +45633,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -39994,6 +45669,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -40012,11 +45699,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -40188,7 +45877,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "dflt": "auto", "editType": "plot", @@ -40205,6 +45914,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -40223,11 +45944,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "texttemplate": { @@ -40664,7 +46387,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -40692,6 +46447,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -40717,11 +46490,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -40805,7 +46580,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -40833,6 +46640,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -40858,11 +46683,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -40913,7 +46740,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -40929,6 +46776,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -40947,11 +46806,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -41048,6 +46909,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -41063,6 +46944,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -41081,11 +46974,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -41302,7 +47197,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -41318,6 +47233,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -41336,11 +47263,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -41514,7 +47443,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -41530,6 +47479,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -41548,11 +47509,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -41849,7 +47812,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -41877,6 +47872,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -41902,11 +47915,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -41976,7 +47991,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -42004,6 +48051,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -42029,11 +48094,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -42120,7 +48187,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -42148,6 +48247,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -42173,11 +48290,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -42459,7 +48578,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -42487,6 +48638,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -42512,11 +48681,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -42593,7 +48764,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -42609,6 +48800,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -42627,11 +48830,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -42897,7 +49102,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -42913,6 +49138,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -42931,11 +49168,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "increasing": { @@ -43203,7 +49442,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -43219,6 +49478,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -43237,11 +49508,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -43578,7 +49851,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -43594,6 +49887,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -43612,11 +49917,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -43682,7 +49989,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -43698,6 +50025,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -43716,11 +50055,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "prefix": { @@ -43788,7 +50129,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -43804,6 +50165,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -43822,11 +50195,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -44014,6 +50389,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -44029,6 +50424,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -44047,11 +50454,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -44268,7 +50677,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -44284,6 +50713,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -44302,11 +50743,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -44480,7 +50923,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -44496,6 +50959,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -44514,11 +50989,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -44743,7 +51220,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -44771,6 +51280,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -44796,11 +51323,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -44895,7 +51424,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -44911,6 +51460,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -44929,11 +51490,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -45452,6 +52015,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -45467,6 +52050,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -45485,11 +52080,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -45706,7 +52303,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -45722,6 +52339,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -45740,11 +52369,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -45918,7 +52549,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -45934,6 +52585,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -45952,11 +52615,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -46202,7 +52867,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -46230,6 +52927,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -46255,11 +52970,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -46394,7 +53111,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -46410,6 +53147,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -46428,11 +53177,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -46943,7 +53694,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -46971,6 +53754,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -46996,11 +53797,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -47114,7 +53917,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -47130,6 +53953,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -47148,11 +53983,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -47636,7 +54473,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -47652,6 +54509,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -47670,11 +54539,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "legendgrouptitle": { @@ -47693,7 +54564,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -47709,6 +54600,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -47727,11 +54630,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -47822,6 +54727,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -47837,6 +54762,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -47855,11 +54792,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -48076,7 +55015,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -48092,6 +55051,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -48110,11 +55081,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -48288,7 +55261,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -48304,6 +55297,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -48322,11 +55327,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -48515,7 +55522,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "auto", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -48531,6 +55558,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -48549,11 +55588,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "transforms": { @@ -48809,7 +55850,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -48825,6 +55886,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -48843,11 +55916,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "labelside": { @@ -48882,7 +55957,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -48898,6 +55993,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -48916,11 +56023,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -49017,6 +56126,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -49032,6 +56161,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -49050,11 +56191,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -49271,7 +56414,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -49287,6 +56450,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -49305,11 +56480,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -49483,7 +56660,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -49499,6 +56696,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -49517,11 +56726,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -49734,7 +56945,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -49750,6 +56981,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -49768,11 +57011,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "stream": { @@ -49808,7 +57053,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "auto", + "editType": "plot", + "valType": "string" + }, "size": { "editType": "plot", "min": 1, @@ -49824,6 +57089,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -49842,11 +57119,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "transforms": { @@ -49941,6 +57220,28 @@ "strict": true, "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -49958,6 +57259,19 @@ "italic" ] }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -49978,11 +57292,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleposition": { @@ -50195,7 +57511,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -50223,6 +57571,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -50248,11 +57614,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -50335,7 +57703,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -50363,6 +57763,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -50388,11 +57806,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -50456,7 +57876,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -50472,6 +57912,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -50490,11 +57942,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -50703,7 +58157,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -50731,6 +58217,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -50756,11 +58260,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -50856,7 +58362,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -50884,6 +58422,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -50909,11 +58465,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -50998,7 +58556,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -51026,6 +58616,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -51051,11 +58659,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -51265,7 +58875,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -51293,6 +58935,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -51318,11 +58978,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -51393,7 +59055,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -51409,6 +59091,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -51427,11 +59121,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -51837,7 +59533,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -51865,6 +59593,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -51890,11 +59636,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -51949,7 +59697,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -51965,6 +59733,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -51983,11 +59763,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -52185,7 +59967,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -52213,6 +60027,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -52238,11 +60070,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -52498,7 +60332,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -52526,6 +60392,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -52551,11 +60435,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -52718,7 +60604,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "auto", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -52734,6 +60640,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -52752,11 +60670,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "type": "sankey", @@ -53290,7 +61210,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -53318,6 +61270,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -53343,11 +61313,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -53442,7 +61414,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -53458,6 +61450,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -53476,11 +61480,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -53675,6 +61681,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -53690,6 +61716,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -53708,11 +61746,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -53929,7 +61969,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -53945,6 +62005,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -53963,11 +62035,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -54141,7 +62215,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -54157,6 +62251,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -54175,11 +62281,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -55154,7 +63262,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -55182,6 +63322,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -55207,11 +63365,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -55925,7 +64085,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -55953,6 +64145,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -55978,11 +64188,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -56067,7 +64279,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -56083,6 +64315,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -56101,11 +64345,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -56202,6 +64448,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -56217,6 +64483,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -56235,11 +64513,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -56456,7 +64736,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -56472,6 +64772,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -56490,11 +64802,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -56668,7 +64982,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -56684,6 +65018,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -56702,11 +65048,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -56915,6 +65263,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -56930,6 +65298,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -56948,11 +65328,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -57169,7 +65551,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -57185,6 +65587,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -57203,11 +65617,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -57381,7 +65797,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -57397,6 +65833,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -57415,11 +65863,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -57932,11 +66382,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -58299,7 +66751,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -58327,6 +66811,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -58352,11 +66854,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -58450,7 +66954,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -58466,6 +66990,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -58484,11 +67020,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -58668,6 +67206,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -58683,6 +67241,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -58701,11 +67271,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -58922,7 +67494,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -58938,6 +67530,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -58956,11 +67560,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -59134,7 +67740,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -59150,6 +67776,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -59168,11 +67806,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -60112,7 +68752,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -60140,6 +68812,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -60165,11 +68855,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -60459,7 +69151,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -60487,6 +69211,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -60512,11 +69254,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -60611,7 +69355,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -60627,6 +69391,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -60645,11 +69421,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -60831,6 +69609,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -60846,6 +69644,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -60864,11 +69674,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -61085,7 +69897,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -61101,6 +69933,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -61119,11 +69963,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -61297,7 +70143,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -61313,6 +70179,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -61331,11 +70209,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -62268,7 +71148,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -62296,6 +71208,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -62321,11 +71251,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -62791,7 +71723,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -62819,6 +71783,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -62844,11 +71826,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -62933,7 +71917,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -62949,6 +71953,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -62967,11 +71983,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -63123,6 +72141,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -63138,6 +72176,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -63156,11 +72206,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -63377,7 +72429,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -63393,6 +72465,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -63411,11 +72495,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -63589,7 +72675,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -63605,6 +72711,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -63623,11 +72741,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -65042,7 +74162,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -65070,6 +74222,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -65095,11 +74265,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -65194,7 +74366,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -65210,6 +74402,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -65228,11 +74432,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -65373,6 +74579,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -65388,6 +74614,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -65406,11 +74644,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -65627,7 +74867,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -65643,6 +74903,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -65661,11 +74933,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -65839,7 +75113,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -65855,6 +75149,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -65873,11 +75179,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -66194,11 +75502,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "textposition": { @@ -66450,7 +75760,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -66478,6 +75820,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -66503,11 +75863,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -66601,7 +75963,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -66617,6 +75999,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -66635,11 +76029,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -66819,6 +76215,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -66834,6 +76250,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -66852,11 +76280,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -67073,7 +76503,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -67089,6 +76539,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -67107,11 +76569,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -67285,7 +76749,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -67301,6 +76785,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -67319,11 +76815,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -68284,7 +77782,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -68312,6 +77842,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -68337,11 +77885,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -68636,7 +78186,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -68664,6 +78246,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -68689,11 +78289,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -68778,7 +78380,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -68794,6 +78416,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -68812,11 +78446,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -68955,6 +78591,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -68970,6 +78626,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -68988,11 +78656,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -69209,7 +78879,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -69225,6 +78915,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -69243,11 +78945,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -69421,7 +79125,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -69437,6 +79161,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -69455,11 +79191,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -70708,7 +80446,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -70736,6 +80506,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -70761,11 +80549,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -70869,7 +80659,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -70885,6 +80695,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -70903,11 +80725,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -71087,6 +80911,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -71102,6 +80946,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -71120,11 +80976,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -71341,7 +81199,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -71357,6 +81235,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -71375,11 +81265,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -71553,7 +81445,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -71569,6 +81481,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -71587,11 +81511,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -72546,7 +82472,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -72574,6 +82532,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -72599,11 +82575,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -72893,7 +82871,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -72921,6 +82931,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -72946,11 +82974,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -73044,7 +83074,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -73060,6 +83110,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -73078,11 +83140,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -73262,6 +83326,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -73277,6 +83361,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -73295,11 +83391,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -73516,7 +83614,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -73532,6 +83650,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -73550,11 +83680,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -73728,7 +83860,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -73744,6 +83896,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -73762,11 +83926,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -74719,7 +84885,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -74747,6 +84945,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -74772,11 +84988,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -75079,7 +85297,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -75107,6 +85357,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -75132,11 +85400,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -75221,7 +85491,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -75237,6 +85527,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -75255,11 +85557,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -75368,6 +85672,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -75383,6 +85707,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -75401,11 +85737,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -75622,7 +85960,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -75638,6 +85996,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -75656,11 +86026,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -75834,7 +86206,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -75850,6 +86242,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -75868,11 +86272,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -76903,6 +87309,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -76918,6 +87344,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -76936,11 +87374,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -77157,7 +87597,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -77173,6 +87633,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -77191,11 +87663,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -77369,7 +87843,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -77385,6 +87879,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -77403,11 +87909,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -77607,7 +88115,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -77635,6 +88175,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -77660,11 +88218,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -77743,7 +88303,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -77759,6 +88339,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -77777,11 +88369,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -78332,7 +88926,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -78360,6 +88986,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -78385,11 +89029,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -78473,7 +89119,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -78501,6 +89179,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -78526,11 +89222,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -78593,7 +89291,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -78609,6 +89327,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -78627,11 +89357,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -78728,6 +89460,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -78743,6 +89495,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -78761,11 +89525,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -78982,7 +89748,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -78998,6 +89784,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -79016,11 +89814,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -79194,7 +89994,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -79210,6 +90030,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -79228,11 +90060,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -79529,7 +90363,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -79557,6 +90423,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -79582,11 +90466,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -79676,7 +90562,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -79704,6 +90622,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -79729,11 +90665,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -79922,6 +90860,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -79937,6 +90895,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -79955,11 +90925,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -80176,7 +91148,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -80192,6 +91184,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -80210,11 +91214,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -80388,7 +91394,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -80404,6 +91430,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -80422,11 +91460,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -80910,7 +91950,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -80938,6 +92010,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -80963,11 +92053,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -81052,7 +92144,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -81068,6 +92180,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -81086,11 +92210,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -81496,7 +92622,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -81524,6 +92682,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -81549,11 +92725,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -81799,7 +92977,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -81827,6 +93037,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -81852,11 +93080,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -82035,7 +93265,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -82063,6 +93325,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -82088,11 +93368,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -82147,7 +93429,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -82163,6 +93465,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -82181,11 +93495,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -82465,7 +93781,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -82493,6 +93841,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -82518,11 +93884,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -82606,7 +93974,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -82634,6 +94034,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -82659,11 +94077,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -82703,7 +94123,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -82719,6 +94159,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -82737,11 +94189,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -82838,6 +94292,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -82853,6 +94327,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -82871,11 +94357,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -83092,7 +94580,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -83108,6 +94616,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -83126,11 +94646,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -83304,7 +94826,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "colorbars", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "colorbars", + "valType": "string" + }, "size": { "editType": "colorbars", "min": 1, @@ -83320,6 +94862,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "colorbars", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -83338,11 +94892,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "colorbars", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -83684,7 +95240,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -83712,6 +95300,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -83737,11 +95343,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -83811,7 +95419,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -83839,6 +95479,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -83864,11 +95522,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -83955,7 +95615,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "plot", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "plot", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "plot", @@ -83983,6 +95675,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "plot", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -84008,11 +95718,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "plot", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -84335,7 +96047,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -84363,6 +96107,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -84388,11 +96150,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -84498,7 +96262,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -84514,6 +96298,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -84532,11 +96328,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -85648,6 +97446,26 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -85663,6 +97481,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -85681,11 +97511,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "titleside": { @@ -85902,7 +97734,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -85918,6 +97770,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -85936,11 +97800,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "tickformat": { @@ -86114,7 +97980,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, "size": { "editType": "calc", "min": 1, @@ -86130,6 +98016,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -86148,11 +98046,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -86377,7 +98277,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -86405,6 +98337,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -86430,11 +98380,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -86529,7 +98481,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -86545,6 +98517,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -86563,11 +98547,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -87242,7 +99228,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "none", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "none", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "none", @@ -87270,6 +99288,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "none", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87295,11 +99331,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "none", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -87425,7 +99463,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -87453,6 +99523,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87478,11 +99566,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -87518,7 +99608,27 @@ "strict": true, "valType": "string" }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "style", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "style", + "valType": "string" + }, "size": { "editType": "style", "min": 1, @@ -87534,6 +99644,18 @@ "italic" ] }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "style", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, "variant": { "description": "Sets the variant of the font.", "dflt": "normal", @@ -87552,11 +99674,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "style", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" } }, "role": "object", @@ -87667,7 +99791,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -87695,6 +99851,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87720,11 +99894,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", @@ -87801,7 +99977,39 @@ "editType": "none", "valType": "string" }, + "lineposition": { + "arrayOk": true, + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "calc", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "linepositionsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `lineposition`.", + "editType": "none", + "valType": "string" + }, "role": "object", + "shadow": { + "arrayOk": true, + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "calc", + "valType": "string" + }, + "shadowsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `shadow`.", + "editType": "none", + "valType": "string" + }, "size": { "arrayOk": true, "editType": "calc", @@ -87829,6 +100037,24 @@ "editType": "none", "valType": "string" }, + "textcase": { + "arrayOk": true, + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "calc", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "textcasesrc": { + "description": "Sets the source reference on Chart Studio Cloud for `textcase`.", + "editType": "none", + "valType": "string" + }, "variant": { "arrayOk": true, "description": "Sets the variant of the font.", @@ -87854,11 +100080,13 @@ "description": "Sets the weight (or boldness) of the font.", "dflt": "normal", "editType": "calc", - "valType": "enumerated", - "values": [ + "extras": [ "normal", "bold" - ] + ], + "max": 1000, + "min": 1, + "valType": "integer" }, "weightsrc": { "description": "Sets the source reference on Chart Studio Cloud for `weight`.", diff --git a/packages/python/plotly/plotly/graph_objs/_bar.py b/packages/python/plotly/plotly/graph_objs/_bar.py index 3d69c04c06..5dc8433328 100644 --- a/packages/python/plotly/plotly/graph_objs/_bar.py +++ b/packages/python/plotly/plotly/graph_objs/_bar.py @@ -763,6 +763,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -774,6 +791,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1264,6 +1288,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1275,6 +1316,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1497,6 +1545,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1508,6 +1573,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_carpet.py b/packages/python/plotly/plotly/graph_objs/_carpet.py index 798de562b4..73adc4aa8c 100644 --- a/packages/python/plotly/plotly/graph_objs/_carpet.py +++ b/packages/python/plotly/plotly/graph_objs/_carpet.py @@ -939,11 +939,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_contour.py b/packages/python/plotly/plotly/graph_objs/_contour.py index d3a75f90b3..0e7066c037 100644 --- a/packages/python/plotly/plotly/graph_objs/_contour.py +++ b/packages/python/plotly/plotly/graph_objs/_contour.py @@ -1477,11 +1477,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_funnel.py b/packages/python/plotly/plotly/graph_objs/_funnel.py index 3889dcf501..5f7a5ce22d 100644 --- a/packages/python/plotly/plotly/graph_objs/_funnel.py +++ b/packages/python/plotly/plotly/graph_objs/_funnel.py @@ -587,6 +587,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -598,6 +615,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1063,6 +1087,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1074,6 +1115,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1265,6 +1313,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1276,6 +1341,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_funnelarea.py b/packages/python/plotly/plotly/graph_objs/_funnelarea.py index bfcf667f3e..af6de00ee3 100644 --- a/packages/python/plotly/plotly/graph_objs/_funnelarea.py +++ b/packages/python/plotly/plotly/graph_objs/_funnelarea.py @@ -502,6 +502,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -513,6 +530,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -992,6 +1016,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1003,6 +1044,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_heatmap.py b/packages/python/plotly/plotly/graph_objs/_heatmap.py index eb7d1dbbee..73dadb6f3b 100644 --- a/packages/python/plotly/plotly/graph_objs/_heatmap.py +++ b/packages/python/plotly/plotly/graph_objs/_heatmap.py @@ -1237,11 +1237,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_histogram.py b/packages/python/plotly/plotly/graph_objs/_histogram.py index 3e845fcb55..0997c1ce7a 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram.py @@ -846,11 +846,26 @@ def insidetextfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1336,11 +1351,26 @@ def outsidetextfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1550,11 +1580,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2d.py b/packages/python/plotly/plotly/graph_objs/_histogram2d.py index 3aba959492..496ba34d9c 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2d.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2d.py @@ -1292,11 +1292,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py index d5e74be044..6db69841f5 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py @@ -1466,11 +1466,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_icicle.py b/packages/python/plotly/plotly/graph_objs/_icicle.py index 43d7e22aae..6e9ad08367 100644 --- a/packages/python/plotly/plotly/graph_objs/_icicle.py +++ b/packages/python/plotly/plotly/graph_objs/_icicle.py @@ -494,6 +494,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -505,6 +522,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -985,6 +1009,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -996,6 +1037,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1249,6 +1297,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1260,6 +1325,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_layout.py b/packages/python/plotly/plotly/graph_objs/_layout.py index f8584b80ab..7a1b89cd29 100644 --- a/packages/python/plotly/plotly/graph_objs/_layout.py +++ b/packages/python/plotly/plotly/graph_objs/_layout.py @@ -1279,11 +1279,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -3882,11 +3897,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_parcats.py b/packages/python/plotly/plotly/graph_objs/_parcats.py index c28be6a4a7..242499bd99 100644 --- a/packages/python/plotly/plotly/graph_objs/_parcats.py +++ b/packages/python/plotly/plotly/graph_objs/_parcats.py @@ -397,11 +397,26 @@ def labelfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -776,11 +791,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_parcoords.py b/packages/python/plotly/plotly/graph_objs/_parcoords.py index 51f7a0adbe..cbc76482e8 100644 --- a/packages/python/plotly/plotly/graph_objs/_parcoords.py +++ b/packages/python/plotly/plotly/graph_objs/_parcoords.py @@ -351,11 +351,26 @@ def labelfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -710,11 +725,26 @@ def rangefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -797,11 +827,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_pie.py b/packages/python/plotly/plotly/graph_objs/_pie.py index 3d01999a2c..e6fc0273bd 100644 --- a/packages/python/plotly/plotly/graph_objs/_pie.py +++ b/packages/python/plotly/plotly/graph_objs/_pie.py @@ -532,6 +532,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -543,6 +560,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -948,6 +972,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -959,6 +1000,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1209,6 +1257,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1220,6 +1285,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1463,6 +1535,23 @@ def titlefont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1474,6 +1563,13 @@ def titlefont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_sankey.py b/packages/python/plotly/plotly/graph_objs/_sankey.py index 6ef1c2eb77..c1d43958d2 100644 --- a/packages/python/plotly/plotly/graph_objs/_sankey.py +++ b/packages/python/plotly/plotly/graph_objs/_sankey.py @@ -812,11 +812,26 @@ def textfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/_scatter.py b/packages/python/plotly/plotly/graph_objs/_scatter.py index 49a68f8024..fe83d93255 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatter.py +++ b/packages/python/plotly/plotly/graph_objs/_scatter.py @@ -1705,6 +1705,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1716,6 +1733,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_scattercarpet.py b/packages/python/plotly/plotly/graph_objs/_scattercarpet.py index 523b0bb56d..75d82c0616 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattercarpet.py +++ b/packages/python/plotly/plotly/graph_objs/_scattercarpet.py @@ -1251,6 +1251,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1262,6 +1279,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_scattergeo.py b/packages/python/plotly/plotly/graph_objs/_scattergeo.py index aa9afe6107..9ac8dab8df 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattergeo.py +++ b/packages/python/plotly/plotly/graph_objs/_scattergeo.py @@ -1320,6 +1320,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1331,6 +1348,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_scatterpolar.py b/packages/python/plotly/plotly/graph_objs/_scatterpolar.py index cf302c5716..59543085fb 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatterpolar.py +++ b/packages/python/plotly/plotly/graph_objs/_scatterpolar.py @@ -1302,6 +1302,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1313,6 +1330,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_scattersmith.py b/packages/python/plotly/plotly/graph_objs/_scattersmith.py index 90878a1085..5c7cd1745b 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattersmith.py +++ b/packages/python/plotly/plotly/graph_objs/_scattersmith.py @@ -1277,6 +1277,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1288,6 +1305,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_scatterternary.py b/packages/python/plotly/plotly/graph_objs/_scatterternary.py index 4e7e784e77..02d88188ef 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatterternary.py +++ b/packages/python/plotly/plotly/graph_objs/_scatterternary.py @@ -1350,6 +1350,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1361,6 +1378,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_sunburst.py b/packages/python/plotly/plotly/graph_objs/_sunburst.py index 6b53441b84..ba15eb23ec 100644 --- a/packages/python/plotly/plotly/graph_objs/_sunburst.py +++ b/packages/python/plotly/plotly/graph_objs/_sunburst.py @@ -494,6 +494,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -505,6 +522,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1013,6 +1037,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1024,6 +1065,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1260,6 +1308,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1271,6 +1336,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_treemap.py b/packages/python/plotly/plotly/graph_objs/_treemap.py index 2f69bd89ec..0a2ed9b888 100644 --- a/packages/python/plotly/plotly/graph_objs/_treemap.py +++ b/packages/python/plotly/plotly/graph_objs/_treemap.py @@ -494,6 +494,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -505,6 +522,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -973,6 +997,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -984,6 +1025,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1237,6 +1285,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1248,6 +1313,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/_waterfall.py b/packages/python/plotly/plotly/graph_objs/_waterfall.py index 9cb95155c1..910e0f518b 100644 --- a/packages/python/plotly/plotly/graph_objs/_waterfall.py +++ b/packages/python/plotly/plotly/graph_objs/_waterfall.py @@ -669,6 +669,23 @@ def insidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -680,6 +697,13 @@ def insidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1087,6 +1111,23 @@ def outsidetextfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1098,6 +1139,13 @@ def outsidetextfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc @@ -1289,6 +1337,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -1300,6 +1365,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py index 4c31ae7723..05ca0a38b9 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py index c32cebc070..b548599417 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py index f61e4fdf2f..eaf468831e 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py index 72c44b8493..8732b7b3ce 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/_textfont.py b/packages/python/plotly/plotly/graph_objs/bar/_textfont.py index 72aec414ca..a929a6d278 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -419,6 +589,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -430,6 +615,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -490,6 +682,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -506,6 +714,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py index a719822e03..ed53be99bd 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py index 2e02033fcb..575ce6dc0c 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "bar.legendgrouptitle" _path_str = "bar.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py index ce8540d251..13151db2e4 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1278,11 +1293,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py index 25e4b899ea..596f8351e5 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "bar.marker.colorbar" _path_str = "bar.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py index 71229ff39b..86cabafea6 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py index 8e963d6104..e42830cc27 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "bar.marker.colorbar.title" _path_str = "bar.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py index dd935924d4..adf50f8db7 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py index 2125b918d8..e574994a50 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py index 185446b8c5..25a1dbc108 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py index d585562f8b..665e59385a 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "barpolar.legendgrouptitle" _path_str = "barpolar.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py index 6c942d513a..30b1ca67c6 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py index 9f4453b8a2..4fb1a792e0 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "barpolar.marker.colorbar" _path_str = "barpolar.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py index 321fc4b635..cf37595e18 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py index 49add0c294..1e9aa22e60 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "barpolar.marker.colorbar.title" _path_str = "barpolar.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py index 9601954a26..4dbb60b4e7 100644 --- a/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py index 1350c26fce..ec36e556dc 100644 --- a/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py index 2b3bb309db..3e24141a92 100644 --- a/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py index c3d819e357..242e48c9d0 100644 --- a/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "box.legendgrouptitle" _path_str = "box.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py index 53abc391ab..8cd34d490d 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py @@ -266,6 +266,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -277,6 +294,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py index f65830f5e7..ba061161b7 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py index b8e662489d..65a931f638 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py index d278cbfbf4..1e54174f5e 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "candlestick.legendgrouptitle" _path_str = "candlestick.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py index 1a53857254..c877db5db5 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py @@ -1329,11 +1329,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1683,11 +1698,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py index 8f4861b938..de752359b8 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py @@ -1329,11 +1329,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1683,11 +1698,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/_font.py index 49a33b2997..b1738f361c 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet" _path_str = "carpet.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -250,11 +348,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -301,6 +412,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -309,6 +428,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py index 3f408ff5e9..47366e26cf 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py index 1639e1f81b..e92e6f21e6 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet.aaxis" _path_str = "carpet.aaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py index e3f2a2c9ed..ce155a5db8 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py index 622741a5b8..150e3b4754 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet.aaxis.title" _path_str = "carpet.aaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py index 71ae0002d4..dead2912f2 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet.baxis" _path_str = "carpet.baxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py index 7a69a865dd..2f7f39703b 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py index 1e8e3537e5..187c9c0d0b 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet.baxis.title" _path_str = "carpet.baxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py index bef41296f0..5b81354a97 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "carpet.legendgrouptitle" _path_str = "carpet.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py index 53171d406a..2a50a3c729 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1278,11 +1293,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py index 98889d321a..2c6f3f232a 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py index 4ad1d287a1..6a13ae0a31 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py index c39b8c8ec2..01e99793d4 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choropleth.colorbar" _path_str = "choropleth.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py index c9cf484537..ede63d6a4c 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py index c6745fccce..503bcc1ad8 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choropleth.colorbar.title" _path_str = "choropleth.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py index 8c664d7876..bf97b9484c 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py index 03da99b080..78abd37837 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choropleth.legendgrouptitle" _path_str = "choropleth.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py index 0cb22fe030..55f8caec3d 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py index c0b7c48919..a7be35f615 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py index 2689370d31..e15d0108d8 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py index e7c003deed..a081ce6777 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choroplethmapbox.colorbar" _path_str = "choroplethmapbox.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py index 034091eeca..3a691a67ce 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py index 69fdb49812..df690ec7e8 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choroplethmapbox.colorbar.title" _path_str = "choroplethmapbox.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py index 8ee77ff6a1..84c7a7bba1 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py index 8fecee6081..9d6534808c 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "choroplethmapbox.legendgrouptitle" _path_str = "choroplethmapbox.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py index fa90fc35ae..56b3ce6507 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py index 6e53532d2b..ed08f1503a 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py index a7f794eaa6..a907e71678 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py index 0a0454fb74..28fb9152d6 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "cone.colorbar" _path_str = "cone.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py index 2d9691590d..e0e40343ce 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py index c245c7760b..2173309978 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "cone.colorbar.title" _path_str = "cone.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py index d318e532fe..ffbe369e76 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py index 82aaadf661..773a29b75b 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "cone.legendgrouptitle" _path_str = "cone.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py index d770c2062b..340fbb93b8 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contour/_contours.py b/packages/python/plotly/plotly/graph_objs/contour/_contours.py index 76df02f1c3..0a13d892fa 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_contours.py @@ -104,11 +104,26 @@ def labelfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py index 4eab96a333..0e88276c61 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py index 9ffae4ffd3..85abdc8555 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contour/_textfont.py b/packages/python/plotly/plotly/graph_objs/contour/_textfont.py index 4c914cae6f..0d3539ab0f 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contour" _path_str = "contour.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py index 43e266a055..3d1f7a9276 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contour.colorbar" _path_str = "contour.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py index 523f911f56..dd6e33b33c 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py index c7bec71fb5..f419bc0ae3 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contour.colorbar.title" _path_str = "contour.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py index dbd331a01e..492d7fddb6 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py @@ -8,7 +8,17 @@ class Labelfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contour.contours" _path_str = "contour.contours.labelfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -253,11 +351,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -304,6 +415,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -312,6 +431,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py index c7764ec8d4..a9bbc15f27 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py index 84319519bd..e0ff3d6ac7 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contour.legendgrouptitle" _path_str = "contour.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py index 3e30cf53cc..00f471924d 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py index 67c8e30615..9aab5096b4 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py @@ -103,11 +103,26 @@ def labelfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py index 3775c9290d..0ab825aa95 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py index ab0fe940f8..734e27b92f 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contourcarpet.colorbar" _path_str = "contourcarpet.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py index 4fbc906cb2..8d04131f3a 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py index c74e0c72f5..e9670e2d29 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contourcarpet.colorbar.title" _path_str = "contourcarpet.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py index a39465536c..569d93ebdf 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py @@ -8,7 +8,17 @@ class Labelfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contourcarpet.contours" _path_str = "contourcarpet.contours.labelfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -253,11 +351,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -304,6 +415,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -312,6 +431,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py index 4e2f72d5b8..243601339e 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "contourcarpet.legendgrouptitle" _path_str = "contourcarpet.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py index 067eef9b45..a44ff65937 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py index 1769ea424e..0180d99336 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py index 6dc4e3f01f..ff6b020569 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py index 80325a51cb..50885fd4cd 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "densitymapbox.colorbar" _path_str = "densitymapbox.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py index ca34d91dc5..7191da7763 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py index 2a3438dc00..413b2bb0bf 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "densitymapbox.colorbar.title" _path_str = "densitymapbox.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py index a3b5f1c26e..259f9e449d 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py index 070f20a9a1..787c53ef42 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "densitymapbox.legendgrouptitle" _path_str = "densitymapbox.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py index 08e2db3fd8..47a169bb6c 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py index 5fbb9c6e4c..a4bfb5a167 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py index 1781d4ba92..7496efb546 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py index 1edd9a6e6e..ce1dfdcc67 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py index 847ba6f3ab..5e59260588 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py index c01b429c0a..2d4aa031f2 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py index 8a2fc6d118..9bc148e8d5 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "funnel.legendgrouptitle" _path_str = "funnel.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py index 15e8cfd586..61009eabe4 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py index 366111fe1e..2e168be71a 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "funnel.marker.colorbar" _path_str = "funnel.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py index c9dafa5c86..6d108036a5 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py index e1d0287700..cdf6884373 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "funnel.marker.colorbar.title" _path_str = "funnel.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py index ce11195ca4..11cdb9b5f2 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py index 697fab6988..6a4919cf8f 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py index be5a71d271..466ef2f787 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py index 7a190d52a8..0c32d4426d 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py index c1e824739c..69a0d6ac30 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py @@ -51,6 +51,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -62,6 +79,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py index e5ebf03382..9c78945690 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py index 2a3c0b39c7..00714cbe97 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "funnelarea.legendgrouptitle" _path_str = "funnelarea.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py index 3c03a22aab..7c724c2bb7 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -421,6 +591,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -432,6 +617,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -492,6 +684,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -508,6 +716,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py index aa4c066899..5b2ceef7f5 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py index 84b6668b24..aeba91b72d 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py index 036b127b0c..51ebeffe81 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py b/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py index d2967bce32..113d0a5e77 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmap" _path_str = "heatmap.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py index ba676ed53c..f13276bbc2 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmap.colorbar" _path_str = "heatmap.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py index 83b738f19a..6a5e92e8a8 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py index 69ebd616be..7946e58a56 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmap.colorbar.title" _path_str = "heatmap.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py index 4a8eaad7dd..877d536c29 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py index f6946240f2..9ba6ecee70 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmap.legendgrouptitle" _path_str = "heatmap.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py index 1e8e12115e..271dfa21ae 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1278,11 +1293,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py index 65ed8155f9..17063cf4b0 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py index 88d05a83e3..34ffb5a6f6 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py index 093f6d9ea4..3ae2b2d3c2 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmapgl.colorbar" _path_str = "heatmapgl.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py index c83707c5a2..52f4cdc658 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py index 14e9250f48..ede6b0cb33 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmapgl.colorbar.title" _path_str = "heatmapgl.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py index 610602597a..ade6b5c42e 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py index df2544852e..c2cb761b8e 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "heatmapgl.legendgrouptitle" _path_str = "heatmapgl.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py index a392c2debe..502b687513 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py index 6414c19e6d..29cdaa6762 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py @@ -8,7 +8,17 @@ class Insidetextfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram" _path_str = "histogram.insidetextfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py index 694fb2438d..d824e0c142 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py index 0f77e01132..c239ba9cbf 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py @@ -8,7 +8,17 @@ class Outsidetextfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram" _path_str = "histogram.outsidetextfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py index fa353a99ff..8ac6bc768e 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram" _path_str = "histogram.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py index 578bb4c819..caa7b193ef 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py index dd497c1948..55f3344f1d 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram.legendgrouptitle" _path_str = "histogram.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py index 7661e76cf6..8a0791bebc 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py index 4fb1a4e926..29b78f0b27 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram.marker.colorbar" _path_str = "histogram.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py index b70cbc8d1a..1de9103382 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py index c8c673fe31..218cdd1f77 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram.marker.colorbar.title" _path_str = "histogram.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py index 7c3f1c2322..8c79a53154 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py index 277c9f5c2c..806856edd8 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py index 6e8e4d48d0..ffbfd33188 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py index 6a38692762..c8d20028a2 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2d" _path_str = "histogram2d.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py index 2c67c70698..0b1fea0272 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2d.colorbar" _path_str = "histogram2d.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py index 6ebc7db939..2b3a35d58e 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py index 191e935c5a..d343059391 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2d.colorbar.title" _path_str = "histogram2d.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py index 9c16ffcafd..ccb3b3a853 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py index ac67d60f93..c47e11f3f7 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2d.legendgrouptitle" _path_str = "histogram2d.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py index bb9b32b1fe..72a910c2ba 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py index 52f6bf2bd1..475f332eeb 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py @@ -104,11 +104,26 @@ def labelfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py index 2de08581d1..ecce014367 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py index 711b6b6469..f5fc47a6f5 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py index 0c7c08ec9c..4c3abc28a0 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2dcontour" _path_str = "histogram2dcontour.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py index 617dfd2fba..ddac4914da 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2dcontour.colorbar" _path_str = "histogram2dcontour.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py index e90c544a17..af03ab8220 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py index f6a502169d..fc1fe75271 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2dcontour.colorbar.title" _path_str = "histogram2dcontour.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py index cc37f67596..802610f44c 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py @@ -8,7 +8,17 @@ class Labelfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2dcontour.contours" _path_str = "histogram2dcontour.contours.labelfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -253,11 +351,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -304,6 +415,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -312,6 +431,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py index f936fee3f8..0123b1e15c 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py index 5d0628a843..415a4f5d63 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "histogram2dcontour.legendgrouptitle" _path_str = "histogram2dcontour.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py index fa85ad97f3..578942c200 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py index 43df21dc3c..67cc169f1f 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py index 12b33f7eb9..e9d09ac3fb 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py index f5b35d9ac9..54eee09750 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -424,6 +594,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -435,6 +620,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -495,6 +687,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -511,6 +719,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py b/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py index 7666103356..63c8c90b57 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py @@ -94,6 +94,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -105,6 +122,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py index 57bd1bf091..75a378941a 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py index ff97ac7b48..0f746859ac 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py index fbdc1dfe81..cb08bea2f2 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "icicle.legendgrouptitle" _path_str = "icicle.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py index b724e2ba16..6d90c5aa93 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py index 4734d7e3f3..b0bcfebca0 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "icicle.marker.colorbar" _path_str = "icicle.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py index 5485c820b5..33704d92ed 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py index 4efb127843..b6a6efc8d4 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "icicle.marker.colorbar.title" _path_str = "icicle.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py b/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py index d91e416aef..d78de264f7 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py index 7015fecc77..9b923283e1 100644 --- a/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py index ff7fea0f25..f042e956f0 100644 --- a/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py index 1db235899f..a3afc4578b 100644 --- a/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py index 3a394d267f..7f52b62bb4 100644 --- a/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "image.legendgrouptitle" _path_str = "image.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_delta.py b/packages/python/plotly/plotly/graph_objs/indicator/_delta.py index 14f0531ee6..d6d984a85b 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_delta.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_delta.py @@ -82,11 +82,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py index eaf5aae822..6700e90b3e 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_number.py b/packages/python/plotly/plotly/graph_objs/indicator/_number.py index 305e59eccd..daf65225a4 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_number.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_number.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_title.py b/packages/python/plotly/plotly/graph_objs/indicator/_title.py index 21e43f18ec..4e283e7b7a 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_title.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_title.py @@ -67,11 +67,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py index bb89a8a829..fd96708d29 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "indicator.delta" _path_str = "indicator.delta.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py b/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py index fc816aab49..0b340efc92 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py @@ -454,11 +454,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py index 160ff4261f..d927928f9d 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "indicator.gauge.axis" _path_str = "indicator.gauge.axis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py index 9860ef0e13..1c5abef2f8 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "indicator.legendgrouptitle" _path_str = "indicator.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py index 92a969a0be..8bdd4dcb14 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "indicator.number" _path_str = "indicator.number.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py index 114b88afb3..9afae3177f 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "indicator.title" _path_str = "indicator.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py index 42053fff48..7cdc1f0e9f 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1278,11 +1293,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py index 2d9b210233..88d9a85fa3 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py index f5326e2249..bdb870034a 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py index 1413260123..5307aec75c 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "isosurface.colorbar" _path_str = "isosurface.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py index 6bc8e5cf56..befe14e33f 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py index 05e108b05c..6f8e7ecae4 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "isosurface.colorbar.title" _path_str = "isosurface.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py index ebb04c79bf..91cf03695d 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py index 74db22eab7..f887601e7d 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "isosurface.legendgrouptitle" _path_str = "isosurface.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_annotation.py b/packages/python/plotly/plotly/graph_objs/layout/_annotation.py index 8ffe82f2ca..50da6a3306 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_annotation.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_annotation.py @@ -606,11 +606,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_font.py b/packages/python/plotly/plotly/graph_objs/layout/_font.py index 31780f1558..87c4cad3c6 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout" _path_str = "layout.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py index 52372d7961..dfd1c85a6f 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py @@ -193,11 +193,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -248,11 +263,26 @@ def grouptitlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_legend.py b/packages/python/plotly/plotly/graph_objs/layout/_legend.py index d95b3e0058..8d781012ad 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_legend.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_legend.py @@ -253,11 +253,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -333,11 +348,26 @@ def grouptitlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_slider.py b/packages/python/plotly/plotly/graph_objs/layout/_slider.py index 61d4c40392..bb5a89ea29 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_slider.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_slider.py @@ -328,11 +328,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_title.py b/packages/python/plotly/plotly/graph_objs/layout/_title.py index 1056c535a7..ab71e0cb77 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_title.py @@ -86,11 +86,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py b/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py index 9e40fe35dc..49254701b1 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py @@ -352,11 +352,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py index c59e8d64e2..4afa07f94e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py @@ -2148,11 +2148,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -2712,11 +2727,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py index 7ca54510ca..9472d628b7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py @@ -2071,11 +2071,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -2635,11 +2650,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py index 76e4661507..fd26e5de08 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.annotation" _path_str = "layout.annotation.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py index 35593ead3b..968baafa0b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py @@ -167,11 +167,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py index 926a378cb4..06808730a3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.annotation.hoverlabel" _path_str = "layout.annotation.hoverlabel.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py index 7ad4391e52..d7bda1d76a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py index fc49c28b49..4969f67bf4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.coloraxis.colorbar" _path_str = "layout.coloraxis.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py index 027072f074..4f97177505 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py index 976cc41445..7b16bc8665 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.coloraxis.colorbar.title" _path_str = "layout.coloraxis.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py index b1b1cb49b2..0012d3bb11 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.hoverlabel" _path_str = "layout.hoverlabel.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py index 07c986abfd..4799a0456c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py @@ -8,7 +8,17 @@ class Grouptitlefont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.hoverlabel" _path_str = "layout.hoverlabel.grouptitlefont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py index 94aa034f80..388af7c23c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.legend" _path_str = "layout.legend.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py index c0a63907df..e60eab2d0d 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py @@ -8,7 +8,17 @@ class Grouptitlefont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.legend" _path_str = "layout.legend.grouptitlefont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py index 726bf1510c..63c28e1f4d 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py index ed0965b2a7..50e4a53a17 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.legend.title" _path_str = "layout.legend.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py index 7da70eb854..f0459f6ebf 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py @@ -145,13 +145,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py index f71d7c8006..d46ad8767c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py @@ -53,11 +53,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py index 65ac2b2987..a59f940586 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py index 5a6c5f822c..1f99c44cee 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.newshape.label" _path_str = "layout.newshape.label.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py index 6ce33bc008..047baffc8b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.newshape.legendgrouptitle" _path_str = "layout.newshape.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py b/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py index 10631909a8..314cc6691e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py @@ -989,11 +989,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py index 893336c842..39f030c84c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py @@ -1174,11 +1174,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1620,11 +1635,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py index b19470104b..877b919939 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.polar.angularaxis" _path_str = "layout.polar.angularaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py index 9ffa946629..a3f7be4f49 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.polar.radialaxis" _path_str = "layout.polar.radialaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py index c604b6af02..2306bda071 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py index 7f51b29ed2..21b300c5bf 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.polar.radialaxis.title" _path_str = "layout.polar.radialaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py index 361d7c2621..45db696073 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py @@ -478,11 +478,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py index 89c35f75c6..77c1b20eb7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py @@ -1298,11 +1298,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1718,11 +1733,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py index 8874d9d59f..f200b3e20c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py @@ -1298,11 +1298,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1718,11 +1733,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py index 64e9fe7664..090d3f978f 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py @@ -1298,11 +1298,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1718,11 +1733,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py index 2090434237..717cf33441 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.annotation" _path_str = "layout.scene.annotation.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py index ad060d2f91..2f00808fef 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py @@ -167,11 +167,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py index 9f4c060a21..1acc9edb16 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.annotation.hoverlabel" _path_str = "layout.scene.annotation.hoverlabel.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py index c3e49d5cdc..8879e832f0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.xaxis" _path_str = "layout.scene.xaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py index 6da691db39..07ab7e611f 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py index dc6a2d2a2c..d376d952d5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.xaxis.title" _path_str = "layout.scene.xaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py index e6d659b3e4..ccf2bee1cd 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.yaxis" _path_str = "layout.scene.yaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py index 45411aec42..1631558bfe 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py index 5fbf19918b..0523c358fa 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.yaxis.title" _path_str = "layout.scene.yaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py index 198c845c6a..65a23f77bc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.zaxis" _path_str = "layout.scene.zaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py index af67b8c1e4..21cda8a6b2 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py index 8702b473f5..4d36112a8a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.scene.zaxis.title" _path_str = "layout.scene.zaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py b/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py index c0f02c8389..f6dec6f6db 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py @@ -53,11 +53,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py index 8cb50f6d8e..7c3e60abc2 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py b/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py index 091bf2a3de..dc62e91014 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.shape.label" _path_str = "layout.shape.label.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py index ecc88f4136..7210987626 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.shape.legendgrouptitle" _path_str = "layout.shape.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py b/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py index 092b6a1c1f..b8c72fabc2 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py b/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py index c9b7bbe122..f104a75107 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.slider" _path_str = "layout.slider.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py b/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py index a47a834c5d..a8e5734481 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.slider.currentvalue" _path_str = "layout.slider.currentvalue.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py b/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py index 84671514ba..e2cb20a9a8 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py @@ -564,11 +564,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py b/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py index 5d8b369080..23ef86c513 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py @@ -612,11 +612,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py index 59e48a1e13..b27bf2661b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.smith.imaginaryaxis" _path_str = "layout.smith.imaginaryaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py index 6c812f087b..dd929d26e4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.smith.realaxis" _path_str = "layout.smith.realaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py index 68b656cc3a..c59a57e2f4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py @@ -806,11 +806,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1252,11 +1267,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py index be6b856a8b..01e8b8831e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py @@ -806,11 +806,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1252,11 +1267,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py index 337727d1a6..ee1ccaccf0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py @@ -806,11 +806,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1252,11 +1267,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py index ad8c2b5bba..6f23808fbc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.aaxis" _path_str = "layout.ternary.aaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py index 83957b0097..90708031ce 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py index 41ecc47d79..486733ad36 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.aaxis.title" _path_str = "layout.ternary.aaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py index 5e18280138..84db13d869 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.baxis" _path_str = "layout.ternary.baxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py index dee599495f..aa96240904 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py index 264fee3f26..46b02049ec 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.baxis.title" _path_str = "layout.ternary.baxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py index 2a6151f83d..54bad33d44 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.caxis" _path_str = "layout.ternary.caxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py index 427b87160a..cf92b7bce0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py index 55231e144b..6c69ec8b91 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.ternary.caxis.title" _path_str = "layout.ternary.caxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py index 161d651c98..9cfc0aff53 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.title" _path_str = "layout.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py b/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py index 93be78c7f3..d0c65c1cc0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.updatemenu" _path_str = "layout.updatemenu.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py index 7d53bc52e4..8061a1b0dc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py @@ -355,11 +355,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py index 079ee6d9c3..b001af5e97 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.xaxis" _path_str = "layout.xaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py index 634964cf46..cf89a885c7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py index d3231c6c75..d5782a67d6 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.xaxis.rangeselector" _path_str = "layout.xaxis.rangeselector.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py index ae6eb6a685..c213b4b859 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.xaxis.title" _path_str = "layout.xaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py index 4aca977e9f..e92cbb1b94 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.yaxis" _path_str = "layout.yaxis.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py index 2f68036fdf..9fcd44cfeb 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py index 9c2614204d..65d0254497 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseLayoutHierarchyType): # -------------------- _parent_path_str = "layout.yaxis.title" _path_str = "layout.yaxis.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py index 1310d74405..a8deba7921 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py index c32dc8abd2..ba55b49315 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py index 0a991ae0d5..863b0e068b 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py index 6aa9743684..6b36fb005b 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "mesh3d.colorbar" _path_str = "mesh3d.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py index a28a286cb9..c5b266619d 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py index 9c1e5c9816..5e1a928776 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "mesh3d.colorbar.title" _path_str = "mesh3d.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py index 3198ceeceb..9c8f5a016c 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py index 9a7c5494fb..f52fe8a411 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "mesh3d.legendgrouptitle" _path_str = "mesh3d.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py index ebedcba15b..5da0e5c740 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py @@ -266,6 +266,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -277,6 +294,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py index 14748af625..624369bd60 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py index d1a3834562..63ce4eaec6 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py index 76fdc8d237..69a5eb47d2 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "ohlc.legendgrouptitle" _path_str = "ohlc.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py b/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py index cefa6472e6..d66c7c7268 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py @@ -8,7 +8,17 @@ class Labelfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcats" _path_str = "parcats.labelfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py index 482d0b615b..52cf58d978 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py index 2368ea2c7c..b7a20e6ca9 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcats" _path_str = "parcats.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py index f9059c8523..8823b04f40 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcats.legendgrouptitle" _path_str = "parcats.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py index 29714bbd36..9162fa7140 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py index cbff601068..3ce6634dee 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcats.line.colorbar" _path_str = "parcats.line.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py index d6aa5b06a2..701c33bf98 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py index a2bbbf2026..9e65bae872 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcats.line.colorbar.title" _path_str = "parcats.line.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py index c0e2a6c6c6..8b8b3302f6 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py @@ -8,7 +8,17 @@ class Labelfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords" _path_str = "parcoords.labelfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py index 7053323991..25e7d8f882 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py index e82cba788b..2eee629bf4 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py @@ -8,7 +8,17 @@ class Rangefont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords" _path_str = "parcoords.rangefont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py index e65d657f58..62df262559 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords" _path_str = "parcoords.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py index 3463d7ef59..2d35393c3e 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords.legendgrouptitle" _path_str = "parcoords.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py index c7b4b9a426..39e1c2188a 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py index f44d5319ca..e207ee2b5d 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords.line.colorbar" _path_str = "parcoords.line.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py index cc5438c413..831bc294e2 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py index 5b750ce109..cfd30a1f7e 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "parcoords.line.colorbar.title" _path_str = "parcoords.line.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py index 5f4ced2eb0..9b22eb6227 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py index f27c3f7d49..8c9e9e5dab 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py index 96f779ea6e..b788597b1a 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py index 4c81578247..fda66ddd44 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/_textfont.py b/packages/python/plotly/plotly/graph_objs/pie/_textfont.py index a8f1d8e8fa..da6630e45b 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -419,6 +589,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -430,6 +615,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -490,6 +682,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -506,6 +714,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/_title.py b/packages/python/plotly/plotly/graph_objs/pie/_title.py index a55a51facb..b68cdef1be 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_title.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_title.py @@ -51,6 +51,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -62,6 +79,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py index 1437a6c60c..8696296a38 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py index dc14a73499..681676397e 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "pie.legendgrouptitle" _path_str = "pie.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py index 4a609a398a..694eefa94a 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -421,6 +591,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -432,6 +617,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -492,6 +684,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -508,6 +716,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py index 4e5c2bd8f8..01c6163495 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py index 06054bfcbc..86969670c1 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py index 4d36ebf715..eef51e5901 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py index a4a07df6a1..3ec50bb8c1 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "pointcloud.legendgrouptitle" _path_str = "pointcloud.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py index 8c3933dccb..19d1e7e280 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py index b2405e548c..acba1d310f 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py b/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py index 8d92442488..8b111a5e43 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py @@ -8,7 +8,17 @@ class Textfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "sankey" _path_str = "sankey.textfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py index 3edfc7e488..ca82c824e3 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py index f770b1fe46..e796fe5a53 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "sankey.legendgrouptitle" _path_str = "sankey.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py index 5a274ccb64..4588691c7d 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py index 731300900c..d3dad62287 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py index 902786d668..6d1fb1c0ec 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py index 64562834ca..d7d334327a 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py index 7af6d114aa..83785eaa61 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py index a94c77e241..73f7822313 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py index aebf524533..752b2e392b 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py index a8f2ba7ddf..21f49d301e 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py index 73db515553..291c259dbb 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter.legendgrouptitle" _path_str = "scatter.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py index 087c2ade4f..c0b12c4751 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py index 733ae8dd2a..8a80d158bc 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter.marker.colorbar" _path_str = "scatter.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py index e98ca253f2..f0a6315982 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py index 8a1b1ca221..e0527c2161 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter.marker.colorbar.title" _path_str = "scatter.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py index 8821a945f1..542ea30778 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py index b8312473f6..66606d41a1 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py index 675cc6744d..5b3c3948b3 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py @@ -284,14 +284,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py index 1f7eb7741a..1f89e06ffc 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py index 163348aaf0..ba7efdccec 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter3d.legendgrouptitle" _path_str = "scatter3d.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py index 30c60085c3..2d4e17ec1d 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py index bd4a818e54..46170407c3 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter3d.line.colorbar" _path_str = "scatter3d.line.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py index 15df4bd1ee..62b48c6115 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py index cc25aa468c..fb37985317 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter3d.line.colorbar.title" _path_str = "scatter3d.line.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py index fa5c5b948a..42cef17cfd 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py index 42bf7d5477..a89d556a39 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter3d.marker.colorbar" _path_str = "scatter3d.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py index 3d66ed8c2d..a557dbafa7 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py index cd7aeb9ca2..e045d68a32 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatter3d.marker.colorbar.title" _path_str = "scatter3d.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py index 1308f51e99..153e93d355 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py index b59e097e38..fd7a8cd6c7 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py index 7e29ab69d3..eff76aba36 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py index 137b10bef0..9c8d809b43 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py index 9f5ef733d5..ac99cea62d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattercarpet.legendgrouptitle" _path_str = "scattercarpet.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py index 144252d493..abebd0dab7 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py index 0ccc41fdeb..93b0c76aad 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattercarpet.marker.colorbar" _path_str = "scattercarpet.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py index c640a922bd..7f1c091484 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py index 875a1f6448..f3a1e9389a 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattercarpet.marker.colorbar.title" _path_str = "scattercarpet.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py index 1edcf1c3d5..213c5cace8 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py index 7055e669c4..9a66fb4410 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py index d0aa424af6..7069ede202 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py index a02511e768..453c99a97c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py index edae9cdf7c..31252c8c99 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergeo.legendgrouptitle" _path_str = "scattergeo.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py index 4334639141..bd0880f2a7 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py index c93df74abc..e4b3b3eb57 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergeo.marker.colorbar" _path_str = "scattergeo.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py index d789e16f68..02acc34ea0 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py index 75bedea9bc..88c0acee47 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergeo.marker.colorbar.title" _path_str = "scattergeo.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py index e92a11b4a0..0b95c7ac55 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py index 6bd1356801..ff7ff0eb7d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py index 427dab9987..63d6fbcf67 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py index 62faf991b8..f2e3c1e8ec 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergl.legendgrouptitle" _path_str = "scattergl.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py index 3ec2b01c8a..3ebf41a43b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py index 2aabd627e8..c02ab0e3d3 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergl.marker.colorbar" _path_str = "scattergl.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py index c4a52002e2..2f0a0b4be9 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py index 9351dede55..1ec3e84cdf 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattergl.marker.colorbar.title" _path_str = "scattergl.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py index 7a30d13036..1d014a278d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py index cbe0a1ca40..9d83c18dc5 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py index aa169e2bc3..cedf1109c4 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py @@ -145,13 +145,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py index c5a0b32d07..6d9b841cab 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py index d61f384b7f..47e36ece9c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattermapbox.legendgrouptitle" _path_str = "scattermapbox.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py index 25810ae065..ed428af482 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py index 0b52dad1dd..f207d5434f 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattermapbox.marker.colorbar" _path_str = "scattermapbox.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py index 82ec5c145c..703f4b4029 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py index 3d60dacaa2..a87b029a90 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattermapbox.marker.colorbar.title" _path_str = "scattermapbox.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py index b6d12ade77..baf40782d2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py index f26b2546c3..aa9e9fff7f 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py index 0471ff80db..13afd2bba4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py index 5a064ba58f..1728cc9916 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py index 73307a842b..b87effca14 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolar.legendgrouptitle" _path_str = "scatterpolar.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py index 8b4a5c255d..d4316bdd46 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py index 3dd9a3bc4e..663487c557 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolar.marker.colorbar" _path_str = "scatterpolar.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py index 7efc74317a..f20b4c08a5 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py index 0f37a966e5..7bb1cf55b1 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolar.marker.colorbar.title" _path_str = "scatterpolar.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py index 40051f8696..2d63006962 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py index 1564d992a9..c98647f37c 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py index e71ca08f2a..b67ac7aad4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py index 4df416409a..ab23149ee0 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolargl.legendgrouptitle" _path_str = "scatterpolargl.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py index a26a1ffe45..3d37facdb3 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py index bfddfcb881..8b086a31c4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolargl.marker.colorbar" _path_str = "scatterpolargl.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py index 81a5d636a6..f764566f15 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py index 47408f4aa5..b89c2c2143 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterpolargl.marker.colorbar.title" _path_str = "scatterpolargl.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py index 7fe52fd437..e8f2146834 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py index a97d6485d4..dce5d39fa7 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py index 2ec569d3f2..e3b37583ba 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py index 349640c31a..4336fc433f 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py index a655444de6..b7812436aa 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattersmith.legendgrouptitle" _path_str = "scattersmith.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py index e9135a370d..87029f5ba4 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py index 2c0ead655d..79b3b33285 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattersmith.marker.colorbar" _path_str = "scattersmith.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py index c4553d5266..1a3819f9a8 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py index 442fa08f51..d45586732c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scattersmith.marker.colorbar.title" _path_str = "scattersmith.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py index a28604444a..3f752ff5c2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py index bed3f689bd..51558637bf 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py index 91863a6140..c024812114 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py index a8337a9226..2ce20aadd1 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py index 027a4bc3b1..428177d262 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterternary.legendgrouptitle" _path_str = "scatterternary.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py index e69d79bcae..72c35d9bec 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py index 5304f35a71..e8e6eaf83c 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterternary.marker.colorbar" _path_str = "scatterternary.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py index 9c0d069c0c..2ffa3d9803 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py index 003cd46e84..0dc83a8573 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "scatterternary.marker.colorbar.title" _path_str = "scatterternary.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py index c6466885f2..ea33f64d27 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py index f9120e55e4..bf2a9e4f7e 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py index 89f655c895..abc6c4b846 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py index 50a4bb900c..768874b73a 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "splom.legendgrouptitle" _path_str = "splom.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py index 5a48c02f84..66784bc38c 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py index a05f403b70..3664e0b2cd 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "splom.marker.colorbar" _path_str = "splom.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py index c0b4550cdc..9c12931a27 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py index 15b07f59be..c19b57804a 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "splom.marker.colorbar.title" _path_str = "splom.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py index ba82c4c166..a1219490f0 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1278,11 +1293,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py index bb7f9d2fde..14367068c6 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py index 9ee58a11bf..3dc4535efd 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py index 9934a94a02..e04d3b1662 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "streamtube.colorbar" _path_str = "streamtube.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py index 9e829039d8..5162d6dcea 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py index 05db5bcd23..54f710a4a7 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "streamtube.colorbar.title" _path_str = "streamtube.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py index 2faff1f368..d8675eb85a 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py index f97bbeb1b0..ef81cb0f60 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "streamtube.legendgrouptitle" _path_str = "streamtube.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py index dd1bbe796d..1edbb9c25a 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py index eea7b2d843..a1a681640e 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py index c5b1df8b30..96cbda1278 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py index 35fca66cf0..7cdeba5039 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -424,6 +594,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -435,6 +620,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -495,6 +687,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -511,6 +719,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py index 028cf2052d..f31785cd29 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py index 2edb0b271b..b33927eabd 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py index 83f3d435ad..14bfa15d03 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "sunburst.legendgrouptitle" _path_str = "sunburst.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py index d1cf55d45d..9a6e590e80 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py index aa062cb49d..edfbd033fb 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "sunburst.marker.colorbar" _path_str = "sunburst.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py index 95d0096f39..1155f3e8a4 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py index caf40f6793..d71f006423 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "sunburst.marker.colorbar.title" _path_str = "sunburst.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py index ea863b295b..b82e7bf5c0 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py index 10e8608f48..e3a6fb70d0 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py index bcb0f818ce..5c992abaa3 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py index 59ef681d05..2a3351da0b 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "surface.colorbar" _path_str = "surface.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py index fa5a58f03c..089dcc06ce 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py index 6b1f6f96a4..74d305bf63 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "surface.colorbar.title" _path_str = "surface.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py index 1b137e1954..c96b3c6409 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py index 71c3dc62ef..67f6b7cd4c 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "surface.legendgrouptitle" _path_str = "surface.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/table/_cells.py b/packages/python/plotly/plotly/graph_objs/table/_cells.py index 909e1fe234..deb2691937 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_cells.py +++ b/packages/python/plotly/plotly/graph_objs/table/_cells.py @@ -139,6 +139,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -150,6 +167,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/table/_header.py b/packages/python/plotly/plotly/graph_objs/table/_header.py index 5b8a1cde9d..26a6b1c076 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_header.py +++ b/packages/python/plotly/plotly/graph_objs/table/_header.py @@ -139,6 +139,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -150,6 +167,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py index 41d859baa6..cc01900eb4 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py index 02cf9cb28c..edd0fdc0dd 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/table/cells/_font.py b/packages/python/plotly/plotly/graph_objs/table/cells/_font.py index 0ccbcf0055..d5b1c86991 100644 --- a/packages/python/plotly/plotly/graph_objs/table/cells/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/cells/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -418,6 +588,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -429,6 +614,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -489,6 +681,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -505,6 +713,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/table/header/_font.py b/packages/python/plotly/plotly/graph_objs/table/header/_font.py index c8ed22bf0b..784979df4d 100644 --- a/packages/python/plotly/plotly/graph_objs/table/header/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/header/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -418,6 +588,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -429,6 +614,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -489,6 +681,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -505,6 +713,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py index 450cb27830..0a34c3ae47 100644 --- a/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py index 7b3696afe6..4fb4498cac 100644 --- a/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "table.legendgrouptitle" _path_str = "table.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py index 808d2350dc..34a074f6cb 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py index 4b266671ee..56c2e9eb22 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py index 8dd85acffa..d4cfd76e6d 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py index 3e56818eaf..11b9b6b5f7 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -424,6 +594,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -435,6 +620,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -495,6 +687,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -511,6 +719,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py b/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py index 9beeb843ac..bf7ba7970c 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py @@ -94,6 +94,23 @@ def textfont(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -105,6 +122,13 @@ def textfont(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py index ae6925be82..ab1c8b7d15 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py index 146a6b357d..a181ad6e7f 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py index 6fb9d13417..92d8296883 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "treemap.legendgrouptitle" _path_str = "treemap.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py index ccba717780..f1735013a7 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1280,11 +1295,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py index 7418df7ce0..f5d0707550 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "treemap.marker.colorbar" _path_str = "treemap.marker.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py index 845d961d62..d0bfa65cbf 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py index 406165eb78..43b6642e60 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "treemap.marker.colorbar.title" _path_str = "treemap.marker.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py b/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py index a37ea7aa70..bec07f6f18 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py index f0846ff7ed..98899b2051 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py index 08bb5ae783..b384d71ad7 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py index 75e5d9c3a8..c3a7dd512f 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py index 0e0e64b62b..0d35b0db4a 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "violin.legendgrouptitle" _path_str = "violin.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py index cef57b9b6b..fac6e50c07 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py @@ -777,11 +777,26 @@ def tickfont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight @@ -1279,11 +1294,26 @@ def titlefont(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py index b3cbe270be..251434e3e9 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py index 241012b38d..d8f63bf6b2 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py index 7e1721fb57..dc7cafb745 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py @@ -8,7 +8,17 @@ class Tickfont(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "volume.colorbar" _path_str = "volume.colorbar.tickfont" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py index 90321ebc07..93bde7f098 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py @@ -45,11 +45,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py index 85f8ce1f43..d39fd16712 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "volume.colorbar.title" _path_str = "volume.colorbar.title.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -252,11 +350,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -303,6 +414,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -311,6 +430,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py index 309a3088de..d06719d87a 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py index f013d90aae..8e46965ff1 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "volume.legendgrouptitle" _path_str = "volume.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py index 84e94cb698..77e0852054 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py @@ -265,6 +265,23 @@ def font(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud + for `lineposition`. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + shadowsrc + Sets the source reference on Chart Studio Cloud + for `shadow`. size sizesrc @@ -276,6 +293,13 @@ def font(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud + for `textcase`. variant Sets the variant of the font. variantsrc diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py index 657e02cbfa..6817c75fd6 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py @@ -13,10 +13,16 @@ class Insidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py index 5a4a8fc07e..03dd12a183 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py @@ -44,11 +44,26 @@ def font(self): "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. variant Sets the variant of the font. weight diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py index f6561c013a..7f6351181d 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py @@ -13,10 +13,16 @@ class Outsidetextfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py index a2e81da8be..b960e80741 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py @@ -13,10 +13,16 @@ class Textfont(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py index 25c5c3c884..1a20935401 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py @@ -13,10 +13,16 @@ class Font(_BaseTraceHierarchyType): "colorsrc", "family", "familysrc", + "lineposition", + "linepositionsrc", + "shadow", + "shadowsrc", "size", "sizesrc", "style", "stylesrc", + "textcase", + "textcasesrc", "variant", "variantsrc", "weight", @@ -153,6 +159,98 @@ def familysrc(self): def familysrc(self, val): self["familysrc"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + - A list or array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # linepositionsrc + # --------------- + @property + def linepositionsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `lineposition`. + + The 'linepositionsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["linepositionsrc"] + + @linepositionsrc.setter + def linepositionsrc(self, val): + self["linepositionsrc"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # shadowsrc + # --------- + @property + def shadowsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `shadow`. + + The 'shadowsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["shadowsrc"] + + @shadowsrc.setter + def shadowsrc(self, val): + self["shadowsrc"] = val + # size # ---- @property @@ -235,6 +333,50 @@ def stylesrc(self): def stylesrc(self, val): self["stylesrc"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + Any|numpy.ndarray + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # textcasesrc + # ----------- + @property + def textcasesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `textcase`. + + The 'textcasesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["textcasesrc"] + + @textcasesrc.setter + def textcasesrc(self, val): + self["textcasesrc"] = val + # variant # ------- @property @@ -285,14 +427,14 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] - A tuple, list, or one-dimensional numpy array of the above Returns ------- - Any|numpy.ndarray + int|numpy.ndarray """ return self["weight"] @@ -347,6 +489,21 @@ def _prop_descriptions(self): familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -358,6 +515,13 @@ def _prop_descriptions(self): stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -377,10 +541,16 @@ def __init__( colorsrc=None, family=None, familysrc=None, + lineposition=None, + linepositionsrc=None, + shadow=None, + shadowsrc=None, size=None, sizesrc=None, style=None, stylesrc=None, + textcase=None, + textcasesrc=None, variant=None, variantsrc=None, weight=None, @@ -420,6 +590,21 @@ def __init__( familysrc Sets the source reference on Chart Studio Cloud for `family`. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + linepositionsrc + Sets the source reference on Chart Studio Cloud for + `lineposition`. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + shadowsrc + Sets the source reference on Chart Studio Cloud for + `shadow`. size sizesrc @@ -431,6 +616,13 @@ def __init__( stylesrc Sets the source reference on Chart Studio Cloud for `style`. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + textcasesrc + Sets the source reference on Chart Studio Cloud for + `textcase`. variant Sets the variant of the font. variantsrc @@ -491,6 +683,22 @@ def __init__( _v = familysrc if familysrc is not None else _v if _v is not None: self["familysrc"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("linepositionsrc", None) + _v = linepositionsrc if linepositionsrc is not None else _v + if _v is not None: + self["linepositionsrc"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("shadowsrc", None) + _v = shadowsrc if shadowsrc is not None else _v + if _v is not None: + self["shadowsrc"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -507,6 +715,14 @@ def __init__( _v = stylesrc if stylesrc is not None else _v if _v is not None: self["stylesrc"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("textcasesrc", None) + _v = textcasesrc if textcasesrc is not None else _v + if _v is not None: + self["textcasesrc"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py index 50c807e6f2..20350c2f36 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py @@ -8,7 +8,17 @@ class Font(_BaseTraceHierarchyType): # -------------------- _parent_path_str = "waterfall.legendgrouptitle" _path_str = "waterfall.legendgrouptitle.font" - _valid_props = {"color", "family", "size", "style", "variant", "weight"} + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } # color # ----- @@ -98,6 +108,55 @@ def family(self): def family(self, val): self["family"] = val + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + # size # ---- @property @@ -138,6 +197,29 @@ def style(self): def style(self, val): self["style"] = val + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + # variant # ------- @property @@ -167,13 +249,13 @@ def weight(self): """ Sets the weight (or boldness) of the font. - The 'weight' property is an enumeration that may be specified as: - - One of the following enumeration values: - ['normal', 'bold'] + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] Returns ------- - Any + int """ return self["weight"] @@ -202,11 +284,24 @@ def _prop_descriptions(self): Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -218,8 +313,11 @@ def __init__( arg=None, color=None, family=None, + lineposition=None, + shadow=None, size=None, style=None, + textcase=None, variant=None, weight=None, **kwargs, @@ -251,11 +349,24 @@ def __init__( Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. size style Sets whether a font should be styled with a normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. variant Sets the variant of the font. weight @@ -302,6 +413,14 @@ def __init__( _v = family if family is not None else _v if _v is not None: self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v _v = arg.pop("size", None) _v = size if size is not None else _v if _v is not None: @@ -310,6 +429,10 @@ def __init__( _v = style if style is not None else _v if _v is not None: self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v _v = arg.pop("variant", None) _v = variant if variant is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/offline/_plotlyjs_version.py b/packages/python/plotly/plotly/offline/_plotlyjs_version.py index 9654b8b7ad..101f6cc556 100644 --- a/packages/python/plotly/plotly/offline/_plotlyjs_version.py +++ b/packages/python/plotly/plotly/offline/_plotlyjs_version.py @@ -1,3 +1,3 @@ # DO NOT EDIT # This file is generated by the updatebundle setup.py command -__plotlyjs_version__ = "2.32.0" +__plotlyjs_version__ = "2.33.0" diff --git a/packages/python/plotly/plotly/package_data/plotly.min.js b/packages/python/plotly/plotly/package_data/plotly.min.js index 020a6b5bfd..ceea12f9db 100644 --- a/packages/python/plotly/plotly/package_data/plotly.min.js +++ b/packages/python/plotly/plotly/package_data/plotly.min.js @@ -1,8 +1,8 @@ /** -* plotly.js v2.32.0 +* plotly.js v2.33.0 * Copyright 2012-2024, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ /*! For license information please see plotly.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={79288:function(t,e,r){"use strict";var n=r(3400),i={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},86712:function(t,e,r){"use strict";t.exports=r(84224)},37240:function(t,e,r){"use strict";t.exports=r(51132)},29744:function(t,e,r){"use strict";t.exports=r(94456)},29352:function(t,e,r){"use strict";t.exports=r(67244)},96144:function(t,e,r){"use strict";t.exports=r(97776)},53219:function(t,e,r){"use strict";t.exports=r(61712)},4624:function(t,e,r){"use strict";t.exports=r(95856)},54543:function(t,e,r){"use strict";t.exports=r(54272)},45e3:function(t,e,r){"use strict";t.exports=r(85404)},62300:function(t,e,r){"use strict";t.exports=r(26048)},6920:function(t,e,r){"use strict";t.exports=r(66240)},10264:function(t,e,r){"use strict";t.exports=r(40448)},32016:function(t,e,r){"use strict";t.exports=r(64884)},27528:function(t,e,r){"use strict";t.exports=r(15088)},75556:function(t,e,r){"use strict";t.exports=r(76744)},39204:function(t,e,r){"use strict";t.exports=r(94704)},73996:function(t,e,r){"use strict";t.exports=r(62396)},16489:function(t,e,r){"use strict";t.exports=r(32028)},5e3:function(t,e,r){"use strict";t.exports=r(81932)},77280:function(t,e,r){"use strict";t.exports=r(45536)},33992:function(t,e,r){"use strict";t.exports=r(42600)},17600:function(t,e,r){"use strict";t.exports=r(21536)},49116:function(t,e,r){"use strict";t.exports=r(65664)},46808:function(t,e,r){"use strict";t.exports=r(29044)},36168:function(t,e,r){"use strict";t.exports=r(48928)},13792:function(t,e,r){"use strict";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){"use strict";t.exports=r(43480)},25120:function(t,e,r){"use strict";t.exports=r(6296)},4340:function(t,e,r){"use strict";t.exports=r(7404)},86152:function(t,e,r){"use strict";t.exports=r(65456)},56816:function(t,e,r){"use strict";t.exports=r(22020)},89296:function(t,e,r){"use strict";t.exports=r(29928)},20260:function(t,e,r){"use strict";t.exports=r(75792)},32140:function(t,e,r){"use strict";t.exports=r(156)},84764:function(t,e,r){"use strict";t.exports=r(45499)},48824:function(t,e,r){"use strict";t.exports=r(3296)},69967:function(t,e,r){"use strict";t.exports=r(4184)},8363:function(t,e,r){"use strict";t.exports=r(36952)},86636:function(t,e,r){"use strict";t.exports=r(38983)},70192:function(t,e,r){"use strict";t.exports=r(11572)},81604:function(t,e,r){"use strict";t.exports=r(76924)},63796:function(t,e,r){"use strict";t.exports=r(62944)},89336:function(t,e,r){"use strict";t.exports=r(95443)},67484:function(t,e,r){"use strict";t.exports=r(34864)},97312:function(t,e,r){"use strict";t.exports=r(76272)},42192:function(t,e,r){"use strict";t.exports=r(97924)},29800:function(t,e,r){"use strict";t.exports=r(15436)},63560:function(t,e,r){"use strict";t.exports=r(5621)},89904:function(t,e,r){"use strict";t.exports=r(91304)},50248:function(t,e,r){"use strict";t.exports=r(41724)},65832:function(t,e,r){"use strict";t.exports=r(31991)},79440:function(t,e,r){"use strict";t.exports=r(22869)},13752:function(t,e,r){"use strict";t.exports=r(67776)},83096:function(t,e,r){"use strict";t.exports=r(95952)},72196:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},13916:function(t,e,r){"use strict";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},90272:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(D-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,D),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:"rotate("+P+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){O.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),z=+j.attr("height"),D=v-.5*L,F=D+L,B=b-.5*z,N=B+z,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=O.append("g").style({opacity:u.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-X),transform:s(Y,X)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+P+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),z&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",W(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void z();if(b){if(b*b>w*w+T*T)return void z();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void z();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+O/B.h,ot+Q-O/B.h]:[ot+P/B.w,ot+Q-P/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=O+B.t+et*z+3+.75*yt,t=P+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(X);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+K+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-K-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&z<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?P:0),q=(o?st:rt)-(o?$:O+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+P)+H).attr("y",(o?st+O-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max($-(o?2*O+xt:2*P+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=D?B.t-W:-W,t.attr("transform",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),X=Y[0].length,Z=t.select("."+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?("pixels"===h?(tt.y=z,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=z+l*ot,tt.yb=z-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-z,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=z-y*ot,tt.yb=z+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:D||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){"use strict";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},47128:function(t,e,r){"use strict";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},95504:function(t,e,r){"use strict";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){"use strict";var n=r(3400),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){"use strict";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){"use strict";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},98192:function(t,e){"use strict";e.u={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.c={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},43616:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&"none"!==a.type){var d,v,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(M,r,y,"linear",a.colorscale,"fill",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n,a,o,s){i.isPlainObject(e)&&(s=e.variant,o=e.style,a=e.weight,n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(u.fill,n),a&&t.style("font-weight",a),o&&t.style("font-style",o),s&&t.style("font-variant",s)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&b(i,t[0].trace,e,r)}))};var _=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k=a("~f"),A={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function M(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=et(t,r),p=H(t,r);e.attr("d",T(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],A[_]||(_=0));var w=s.pattern,k=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var M=t.mgc;M?y=!0:M=b.color;var S=r.uid;y&&(S+="-"+t.i),x.gradient(e,a,S,_,[[0,M],[1,d]],"fill")}else if(k){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),P=x.getPatternAttr(w.bgcolor,t.i,null),O=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),z=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+="-"+t.i),x.pattern(e,"point",a,D,k,I,z,t.mcc,w.fillmode,P,C,O)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,et(n,e),H(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=B(t)),e?z(t[1]):I(t[0])}function I(t){var e=n.round(t,2);return S=e,e}function z(t){var e=n.round(t,2);return E=e,e}function D(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[I(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[I(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=P(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,size:g,color:y}).text(u).call(h.convertToTspans,r).call(C,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=P(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");C(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=R[t]||F;return function(t){for(var r="M"+I(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},N=0),r&&(x.savedBBoxes[r]=g),N++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",U(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var V=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(V,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function H(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=H;var G,W,Y,X,Z,K,J=Math.atan2,$=Math.cos,Q=Math.sin;function tt(t,e){var r=e[0],n=e[1];return[r*$(t)-n*Q(t),r*Q(t)+n*$(t)]}function et(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=J(v[1]-n,v[0]-r),y=J(d[1]-n,d[0]-r);if("north"===s)f=a/180*Math.PI;else if("previous"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=G/180*Math.PI,_=W/180*Math.PI,w=b-m,T=$(_)*Q(w),k=Q(_)*$(x)-$(_)*Q(x)*$(w);f=-J(T,k)-Math.PI,G=h,W=p}var A=tt(g,[$(f),0]),M=tt(y,[Q(f),0]);a=J(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||K===e.uid&&t.i===Z+1||(a=null)}if("previous"===s&&!e._geo)if(K===e.uid&&t.i===Z+1&&o(r)&&o(n)){var S=r-Y,E=n-X,L=e.line&&e.line.shape||"",C=L.slice(L.length-1);"h"===C&&(E=0),"v"===C&&(S=0),a+=J(E,S)/Math.PI*180+90}else a=null}return Y=r,X=n,Z=t.i,K=e.uid,a}x.getMarkerAngle=et},71984:function(t,e,r){"use strict";var n,i,a,o,s=r(21984),l=r(33428).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},92036:function(t,e,r){"use strict";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},55756:function(t,e,r){"use strict";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},55056:function(t,e,r){"use strict";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexZ[0]._length||bt<0||bt>K[0]._length)return v.unhoverRaw(t,e)}else xt="xpx"in e?e.xpx:Z[0]._length/2,bt="ypx"in e?e.ypx:K[0]._length/2;if(e.pointerX=xt+Z[0]._offset,e.pointerY=bt+K[0]._offset,rt="xval"in e?m.flat(x,e.xval):m.p2c(Z,xt),nt="yval"in e?m.flat(x,e.yval):m.p2c(K,bt),!i(rt[0])||!i(nt[0]))return o.warn("Fx.hover failed",e,t),v.unhoverRaw(t,e)}var kt=1/0;function At(r,n){for(at=0;atdt&&(vt.splice(0,dt),kt=vt[0].distance),A&&0!==et&&0===vt.length){pt.distance=et,pt.index=!1;var c=st._module.hoverPoints(pt,ft,ht,"closest",{hoverLayer:b._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=et}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=St(p),(!yt.vLinePoint||yt.vLinePoint.spikeDistance>f.spikeDistance)&&(yt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=St(g),(!yt.hLinePoint||yt.hLinePoint.spikeDistance>f.spikeDistance)&&(yt.hLinePoint=f))}}}}}function Mt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Bt-1;Nt--)qt(vt[Nt]);vt=jt,Pt()}var Ht=t._hoverdata,Gt=[],Wt=q(t),Yt=H(t);for(it=0;it1||vt.length>1)||"closest"===M&&mt&&vt.length>1,oe=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),se=z(vt,{gd:t,hovermode:M,rotateLabels:ae,bgColor:oe,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),le=se.hoverLabels;if(m.isUnifiedHover(M)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=R(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(S+p.y)-T(t.by/2-S))+T(t.by);else{var M=w(A*S+p.x),E=M+w(A*t.bx);u=t.crossPos+Math.min(M,E),c=t.crossPos+Math.max(M,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(M.push.apply(M,E),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(le,ae,b,se.commonLabelBoundingBox),F(le,ae,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=y.getComponentMethod("annotations","hasClickToShow")(t,Gt);h(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ht)&&(Ht&&t.emit("plotly_unhover",{event:e,points:Ht}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:Z,yaxes:K,xvals:rt,yvals:nt}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=q(i),o=H(i),s=z(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(y.traceIs(v,"gl3d")){var g=i._fullLayout[v.scene]._scene.container,m=g.offsetLeft,x=g.offsetTop;c+=m,f+=m,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function z(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||x.HOVERFONT,k=e.fontSize||x.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,L=e.fontVariant||i.font.variant,C=t[0],P=C.xa,I=C.ya,z=a.charAt(0),R=z+"Label",F=C[R];if(void 0===F&&"multicategory"===P.type)for(var B=0;Bi.width-_&&(w=i.width-_),e.attr("d","M"+(y-w)+",0L"+(y-w+S)+","+b+S+"H"+_+"v"+b+(2*E+x.height)+"H"+-_+"V"+b+S+"H"+(y-w-S)+"Z"),y=w,K.minX=y-_,K.maxX=y+_,"top"===P.side?(K.minY=m-(2*E+x.height),K.maxY=m-E):(K.minY=m+E,K.maxY=m+(2*E+x.height))}else{var O,z,D;"right"===I.side?(O="start",z=1,D="",y=P._offset+P._length):(O="end",z=-1,D="-",y=P._offset),m=I._offset+(C.y0+C.y1)/2,s.attr("text-anchor",O),e.attr("d","M0,0L"+D+S+","+S+"V"+(E+x.height/2)+"h"+D+(2*E+x.width)+"V-"+(E+x.height/2)+"H"+D+S+"V-"+S+"Z"),K.minY=m-(E+x.height/2),K.maxY=m+(E+x.height/2),"right"===I.side?(K.minX=y+S,K.maxX=y+S+(2*E+x.width)):(K.minX=y-S-(2*E+x.width),K.maxX=y-S);var R,B=x.height/2,N=j-x.top-B,U="clip"+i._uid+"commonlabel"+I._id;if(y=0?ft:ht+vt=0?ht:Tt+vt=0?ut:ct+gt=0?ct:kt+gt=0,"top"!==t.idealAlign&&X||!Z?X?(R+=N/2,t.anchor="start"):t.anchor="middle":(R-=N/2,t.anchor="end"),t.crossPos=R;else{if(t.pos=R,X=z+B/2+K<=U,Z=z-B/2-K>=0,"left"!==t.idealAlign&&X||!Z)if(X)z+=B/2,t.anchor="start";else{t.anchor="middle";var J=K/2,$=z+J-U,Q=z-J;$>0&&(z-=$),Q<0&&(z+=-Q)}else z-=B/2,t.anchor="end";t.crossPos=z}_.attr("text-anchor",t.anchor),P&&C.attr("text-anchor",t.anchor),e.attr("transform",l(z,R)+(s?u(w):""))})),{hoverLabels:At,commonLabelBoundingBox:K}}function D(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=U(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(I,(function(e,r){return s=U(r,t.nameLength),""}))}return[l,s]}function R(t,e){var r=0,n=t.offset;return e&&(n*=-M,r=t.offset*A),{x:r,y:n}}function F(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select("text.nums"),h=t.anchor,d="end"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(S+E))+s*(i.txwidth+E),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+E),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=R(t,e),y=g.x,m=g.y,x="middle"===h;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*S+y)+","+o(S+m)+"v"+o(t.by/2-S)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*S+y)+"V"+o(m-S)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+E,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==h?(c.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+E:-t.bx-E):"right"===w&&"end"!==h&&(c.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-E:t.bx+E)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(f.positionText,a(v.text2ShiftX+v.alignShift*E+y),o(m+t.ty0-t.by/2+E)),r.select("rect").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function B(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("fontWeight","htw","hoverlabel.font.weight"),c("fontStyle","hty","hoverlabel.font.style"),c("fontVariant","htv","hoverlabel.font.variant"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function N(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==z.indexOf("toaxis")||-1!==z.indexOf("across")){if(-1!==z.indexOf("toaxis")&&(P=F,O=L),-1!==z.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==z.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function j(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function U(t,e){return f.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function V(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function q(t){return t.offsetTop+t.clientTop}function H(t){return t.offsetLeft+t.clientLeft}function G(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},41008:function(t,e,r){"use strict";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},93024:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:"component",name:"fx",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(62376)}},65460:function(t,e,r){"use strict";var n=r(92456),i=r(25376),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},88336:function(t,e,r){"use strict";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},81976:function(t,e,r){"use strict";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){"use strict";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),P="paper"===p("yref"),O="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?P?(E=1.1,L="bottom"):(E=1,L="top"):P?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",O?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var z=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",z)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style("stroke-width",h.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(S);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(i.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=O(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=P(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&"right"===S,L=i.x>1||1===i.x&&"left"===S,I=_||x,z=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:z:L?I&&"right"===S?s.r+s.w:z:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&""!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k="paper"===h.xref,M="paper"===h.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[P(h)]*h._effHeight:d.height*(1-h.y)-g[P(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=P(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var O=S,I=E;S=k?i.constrain(S,0,d.width-h._width):O,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==O&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==I&&i.log("Constrain "+w+".y to make legend fit inside graph")}u.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||h._height<=h._maxHeight||t._context.staticPlot){var z=h._effHeight;T&&(z=h._height),U.attr({width:h._width-_,height:z-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select("rect").attr({width:h._width-2*_,height:z-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select("rect").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on("wheel",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;D="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(D=t.changedTouches[0].clientY,F=Z)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(){var t=u.getTranslate(N);m=t.x,x=t.y},moveFn:function(t,r){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+".x"]=e,r[w+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=O(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on("edit",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=O(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(n===_?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)"left"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function P(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function O(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?c.visible&&c.type===o:i.traceIs(c,"bar"),v=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);v.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if("middle"===l&&0===s||!u||!c)i.attr("transform",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr("transform",o(h,f))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){"use strict";r(76052),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},44248:function(t,e,r){"use strict";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(O=["toggleHover"],I=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],O=["hoverClosestGeo"],I=["resetGeo"]):g?(O=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],O=["toggleHover"],I=["resetViewMapbox"]):b?O=["hoverClosestGl2d"]:m?O=["hoverClosestPie"]:A?(O=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):O=["toggleHover"],v&&(O=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b="col-resize",y+_>r._length)return;c=y+_,p=m;break;case u:if(b="col-resize",m+_<0)return;c=y,p=m+_;break;default:b="ew-resize",c=v,p=v+_}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){"use strict";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},81004:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},5968:function(t,e,r){"use strict";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e,P.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){"use strict";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},96084:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,P="y1"):(M=_,C="y1",S=p,P="y0"),tt(n),nt(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),Q.moveFn="move"===D?et:rt,Q.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),it(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||it(l)}};function tt(r){if(b(t))D=null;else if(j)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),D=l.split("-")[0]}}function et(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(z,o,c))}else B?V("xanchor",r.xanchor=K(w+n)):(V("x0",r.x0=K(f+n)),V("x1",r.x1=K(x+n))),N?V("yanchor",r.yanchor=J(A+i)):(V("y0",r.y0=J(p+i)),V("y1",r.y1=J(_+i)));e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function rt(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(z,o,c))}else if(j){if("resize-over-start-point"===D){var h=f+n,d=N?p-i:p+i;V("x0",r.x0=B?h:K(h)),V("y0",r.y0=N?d:J(d))}else if("resize-over-end-point"===D){var v=x+n,g=N?_-i:_+i;V("x1",r.x1=B?v:K(v)),V("y1",r.y1=N?g:J(g))}}else{var b=function(t){return-1!==D.indexOf(t)},T=b("n"),G=b("s"),Y=b("w"),$=b("e"),Q=T?M+i:M,tt=G?S+i:S,et=Y?E+n:E,rt=$?L+n:L;N&&(T&&(Q=M-i),G&&(tt=S-i)),(!N&&tt-Q>F||N&&Q-tt>F)&&(V(C,r[C]=N?Q:J(Q)),V(P,r[P]=N?tt:J(tt))),rt-et>R&&(V(O,r[O]=B?et:K(et)),V(I,r[I]=B?rt:K(rt)))}e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function nt(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=X(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Z(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function it(t){t.selectAll(".visual-cue").remove()}d.init(Q),$.node().onmousemove=tt}(t,F,c,e,r,D):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("above"===c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):"between"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},41592:function(t,e,r){"use strict";var n=r(4016);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)("shapes"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},89861:function(t,e,r){"use strict";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},60876:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return N.call(j),R&&(E?N.on(".opacity",null):(A=0,M=!0,N.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),N.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(j)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),N.classed("js-placeholder",M),T}}},88444:function(t,e,r){"use strict";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},73712:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},91384:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){"use strict";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,z=g;I+P>l&&(I=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:z,width:P,height:O}),this._vbarYMin=z+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},36208:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},48164:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},26880:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},69104:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},99168:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},13448:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},2264:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},9616:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},64884:function(t,e,r){"use strict";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},98308:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){"use strict";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){"use strict";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod("calendars","getCal")(r);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},3400:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},37804:function(t,e,r){"use strict";var n=r(22296),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},30988:function(t,e,r){"use strict";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){"use strict";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){"use strict";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){"use strict";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){"use strict";var n=r(38248),i=r(25928);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){"use strict";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){"use strict";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=P.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===O[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===O[0])m=x-v/2;else if("a"===O[0]&&0!==O.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr("class")+"-math",P.select("svg."+O).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(m),a=[],o="",s=0,l=0;l3?a.push(u.substr(0,p-3)+"..."):a.push(u.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){"use strict";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){"use strict";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},6580:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},69820:function(t,e,r){"use strict";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?P.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===O&&(O=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var z;if(-1===O)z=S;else{for(I=Math.max(L.length,I),z=[],x=0;x=O);x++)z.push(_);for(x=O;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=O(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[D];)D--;var R=I.parts[D],F=I.parts[D-1]+"."+R,j=I.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==z){k[O]=z,S[O]="reverse"===R?z:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==z)for(var Z in G.impliedEdits)E(o.relativeAttr(O,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(O))if(z){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",z?null:l.width),E("height",z?null:l.height);else if(F.match(W))P(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){P(F),s(l,j+"._inputRange").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){L=U;var Q="linear"===q.type&&"log"===z,tt="log"===q.type&&"linear"===z;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,q,z,E),c.getComponentMethod("images","convertCoords")(t,q,z,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,O).get(),it=(z||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(z)?S[O]=null:w.isRemoveVal(z)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=z,delete e[O]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):("dragmode"===O&&(!1===z&&!1!==H||!1!==z&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===z||"select"===z)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(z))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+"["+o+"]";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+"."+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);if(y>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},67024:function(t,e,r){"use strict";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){"use strict";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,L)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},19280:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>P?M/A>O&&(w=b,T=_,O=M/A):M/C>O&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},O=M/C));if(h===v){var I=h-1,z=h+1;if(E)if(0===h)i=[0,1];else{var D=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,D/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,z)]:[I,z]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-O*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),O=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-O*s(w),T.val+O*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},54460:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:"zeroline"},z={K:"gridline",L:"path"},D={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(84284),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,q=N.OPPOSITE_SIDE,H=t.exports={};H.setConvert=r(78344);var G=r(52976),W=r(79811),Y=W.idSort,X=W.isLinked;H.id2name=W.id2name,H.name2id=W.name2id,H.cleanId=W.cleanId,H.list=W.list,H.listIds=W.listIds,H.getFromId=W.getFromId,H.getFromTrace=W.getFromTrace;var Z=r(19280);H.getAutoRange=Z.getAutoRange,H.findExtremes=Z.findExtremes;var K=1e-4;function J(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},H.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=H.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=H.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?et(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?rt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":et(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?et(f,h)||(t.dtick=rt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);z--){var D=!z;z?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=z?t:s.extendFlat({},t,t.minor);if(D?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(z){if(t._tmin=V,V=N:Y<=N;Y=H.tickIncrement(Y,X,f,o)){if(z&&q++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===W)break;W=Y;var Z={value:Y};z?(U&&Y!==(0|Y)&&(Z.simpleLabel=!0),l>1&&q%l&&(Z.skipLabel=!0),C.push(Z)):(Z.minor=!0,P.push(Z))}}else C=[],v=at(t);else z?(C=[],v=ot(t,!D)):(P=[],L=ot(t,!D))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var it="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(it?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(mt(t.exponentformat)&&!xt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function gt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*dt(e,n,st);else if(o>T)e/=T,t.dtick="M"+dt(e,1,lt);else if(o>M){if(t.dtick=dt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ct),!r){var l=H.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=dt(e,E,lt):o>L?t.dtick=dt(e,L,ut):o>C?t.dtick=dt(e,C,ut):(n=a(10),t.dtick=dt(e,n,st))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+dt(e,n,st)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):zt(t)?(t.tick0=0,n=1,t.dtick=dt(e,n,pt)):(t.tick0=0,n=a(10),t.dtick=dt(e,n,st));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ht:ft,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=bt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||mt(p)&&xt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":P)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":P)+h:(e.text=bt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):zt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=bt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=bt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=P+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=bt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+" - "+H.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+o:o};var yt=["f","p","n","μ","m","","k","M","G","T"];function mt(t){return"SI"===t||"B"===t}function xt(t){return t>14||t<-15}function bt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};vt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":mt(l)&&(t+=yt[u/3+5])),a?P+t:t}function _t(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function wt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=H.drawOne(t,n,r);return n._shiftPusher&&Bt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=H.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var b=e.linewidth/2||0;"inside"===e.ticks&&(b+=e.ticklen),Bt(e,b,p,!0),Bt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=H.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=At(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=At(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(_t(n,e.automargin),_t(i,e.automargin)),a.autoMargin(t,Et(e),n),a.autoMargin(t,Lt(e),i),a.autoMargin(t,Ct(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=St(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=H.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(Tt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(Tt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,kt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Ft(e,[R]),o.attr("transform",r.transFn)},H.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,kt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Ft(e,[z,D])}},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Ft(e,[I])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+"tick",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll("g."+c).data(e.showticklabels?f:[],kt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=u.lineCount(o),v=V*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}g.enter().append("g").classed(c,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Ft(e,[F]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=St(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*N&&(P=N,E[S]=L[S]=O[S])}var U=Math.abs(P-C);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var q=s.syncOrAsync(b);return q&&q.then&&t._promises.push(q),q},H.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},H.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Mt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){"use strict";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,u=r("categoryorder",a);"array"===u&&(l=r("categoryarray")),s||"array"!==u||(u=e.categoryorder="trace"),"trace"===u?e._initialCategories=[]:"array"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FP&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,K,J,e.id,Pt),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},42568:function(t,e,r){"use strict";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},96312:function(t,e,r){"use strict";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var u,c=e.getAutorangeDflt(l,i),f=r("autorange",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==f&&!0!==f)&&(null===l[0]||"min"!==f&&"max reversed"!==f)&&(null===l[1]||"max"!==f&&"min reversed"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r("autorange",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},21160:function(t,e,r){"use strict";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){"use strict";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var z=y.getBounds(E(d.range,v.range)),D=Math.min((P[1][0]-P[0][0])/(z[1][0]-z[0][0]),(P[1][1]-P[0][1])/(z[1][1]-z[0][1]));isFinite(D)?y.scale(D*O):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},10816:function(t,e,r){"use strict";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&P<0&&(P+=360);var O,I,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];O=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,z=38.7):(I=d?D:O,z=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",z),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},79248:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:"zoom"})})),A=h.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(u),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,h,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){"use strict";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},9020:function(t,e,r){"use strict";var n=r(43080),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var P=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:P}),L.bbox=P[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var O=y[1][o]-y[0][o];y[0][o]-=O/32,y[1][o]+=O/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var z=c.aspectmode;if("cube"===z)g=[1,1,1];else if("manual"===z){var D=c.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==z&&"data"!==z)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===z||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,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:o,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:o,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:s,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:s,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:u,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@"+i+"."].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:",u.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\')'}}},89032:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},33688:function(t,e,r){"use strict";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p="mapbox",d=e.constants=r(47552);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split("|").join("
");b.text(T).attr("data-unformatted",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr("transform",a(-3,8-_.height)),x.insert("rect",".static-attribution").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(l.getComponentMethod("grid","sizeDefaults")(u,s),o=0;o15&&z.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),O(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var P=g[C].l||{},I=g[C].b||{},z=P.val,D=P.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>z){var q=(D*U+(V-B)*z)/(U-z),H=(V*(1-z)+(D-B)*(1-U))/(U-z);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!f.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),"object"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,z=a.side;"counterclockwise"===z?(A=z,z="top"):"clockwise"===z&&(A=z,z="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:z,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(O,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){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(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:z(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,z=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-D,l=a+D;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(D,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=D):(p=D,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr("fill-rule","evenodd"),W=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,z,D,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?D>L:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0}),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){"use strict";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var P="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",P);var O=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var z=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",z),p.layers.agrid.attr("transform",z);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",P="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",O="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function z(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,D=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;z(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){z(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){"use strict";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},84664:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=h(n,"textfont",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,"insidetextfont",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,"pathbar.textfont",_)}y&&h(n,"outsidetextfont",m),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),u&&n("constraintext"),c&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c("xhoverformat"),c("yhoverformat"),c("zorder"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var h=c("textposition");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||a.defaultLine,{axis:"y"}),v(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function z(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+"a"],R=t[h+"a"];v=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=D.c2p(x?L(B):j[0],!0),t[f+"1"]=D.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+"Spike"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){"use strict";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:"trace",name:"bar",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},39324:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},37156:function(t,e,r){"use strict";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return"auto"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function P(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);"auto"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var P=i.left*p+i.right*h,O=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,z=(r+n)/2,D=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,D=-B*F):(I=e-B*w,D=B*F):f?(z=r+B*w,R=-B*F):(z=n-B*w,R=B*F)}return{textX:P,textY:O,targetX:I,targetY:z,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,O=e.yaxis,I=t._fullLayout,z=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var D=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,D="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,N=B||R,j=0;D&&f.connector.visible&&"between"===f.connector.mode&&(j=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=a.ensureSingle(u,"g","points"),H=T(f),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,O,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),"waterfall"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,D=Z.color}}else S=v.getLineWidth(f,u),D=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:O.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt="M"+H+","+W+"V"+(Y-ut*st)+"H"+ft(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st-ct)+"V"+(W+rt*st+ct)+"A "+rt+","+rt+" 0 0 "+lt+" "+ft(G-(rt-it)*ot,H)+","+(W+ut*st)+"Z"}else if(u.hasB)tt="M"+(H+rt*ot)+","+W+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(W+rt*st)+"V"+(Y-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+Y+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st)+"V"+(W+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+W+"Z";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ht*ot)+","+W+"V"+dt(Y-(rt-it)*st,W)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+Y+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ht*ot)+","+dt(Y-(rt-it)*st,W)+"V"+W+"Z"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,"path"),I,g,y);if(vt.style("vector-effect",z?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,O=e.yaxis,I=t._fullLayout;function z(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R="h"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,O);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(D,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&"none"!==k&&(!N.isBlank&&s!==u&&f!==p||"auto"!==k&&"inside"!==k)){var q=I.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),W=d.getOutsideTextFont(D,i,q),Y=D.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k="inside":(k="outside",Z.remove(),Z=null)}else k="inside";if(!Z){var ot=(Z=z(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?W:G))).attr("transform");if(Z.attr("transform",""),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr("transform",ot),J<=0||$<=0)return void Z.remove()}var st,lt=D.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:"both"===D.constraintext||"outside"===D.constraintext,angle:lt}):P(s,u,f,p,K,{isHorizontal:R,constrained:"both"===D.constraintext||"inside"===D.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h("histogram"===D.type?"bar":D.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select("text"),w,O,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,D,e,g)},toMoveInsideBar:P}},45784:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},82744:function(t,e,r){"use strict";var n=r(33428),i=r(3400);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},94456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(40872),categories:["polar","bar","showLegend"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},89580:function(t,e,r){"use strict";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:u({},c.symbol,{arrayOk:!1,editType:"plot"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:u({},c.angle,{arrayOk:!1,editType:"calc"}),size:u({},c.size,{arrayOk:!1,editType:"calc"}),color:u({},c.color,{arrayOk:!1,editType:"style"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},62555:function(t,e,r){"use strict";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,P,O,I,z=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==s&&W<=E.q1?W:p(E,C,P);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var X=V("mean");E.mean=X!==s?X:P?o.mean(C,P):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V("notchspan");K=K!==s&&K>0?K:y(E,P),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[P-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=D;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(z(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){"use strict";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},86411:function(t,e,r){"use strict";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},7924:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},54272:function(t,e,r){"use strict";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:"trace",name:"choropleth",basePlotModule:r(10816),categories:["geo","noOpacity","showLegend"],meta:{}}},88364:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","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:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){"use strict";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){"use strict";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r("contours.operation");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t("contours.value",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),v=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",v&&s(v)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,h)}},3212:function(t,e,r){"use strict";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},84952:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},82172:function(t,e,r){"use strict";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},46960:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){"use strict";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){"use strict";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},37960:function(t,e,r){"use strict";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},30572:function(t,e,r){"use strict";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){"use strict";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c("zorder")}},40448:function(t,e,r){"use strict";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:"trace",name:"contourcarpet",basePlotModule:r(57952),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},94440:function(t,e,r){"use strict";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,z=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,D,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},97664:function(t,e,r){"use strict";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},96176:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){"use strict";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){"use strict";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){"use strict";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:"trace",name:"funnel",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},7076:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},11631:function(t,e,r){"use strict";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){"use strict";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},91248:function(t,e,r){"use strict";var n=r(7316);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){"use strict";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},92688:function(t,e,r){"use strict";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===v&&c("textposition","none");a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},62396:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(91248),categories:["pie-like","funnelarea","showLegend"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){"use strict";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},35384:function(t,e,r){"use strict";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},39472:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){"use strict";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},19512:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){"use strict";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},39096:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},35744:function(t,e,r){"use strict";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement("canvas");et.width=J,et.height=$;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});"fast"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if("smooth"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Pt=V?w:_;for(C=0;CZt||Zt>M._length))for(P=Gt;PJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},D,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=z.z[C][P];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=z.text&&z.text[C]&&z.text[C][P];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,D._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(O=0;O0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(z.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);z.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(z.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[z,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,z=e.histfunc,D=-1!==I.indexOf("density");w.enabled&&D&&(I=I.replace(/ ?density$/,""),D=!1);var R,F="max"===z||"min"===z?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==z&&(R=e[b],j="avg"===z,B=l[z]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],W?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},80536:function(t,e,r){"use strict";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],f=["x","y"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,I=[],z=[],D=P?I:w,R=O?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),D=1/0,R=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),z=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P?"start":"middle").call(a.font,z).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:z.size}),s.transform.fontSize=z.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},29044:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},4304:function(t,e,r){"use strict";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},25132:function(t,e,r){"use strict";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){"use strict";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},47192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){"use strict";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&T.push(", "+_[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+f.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}},48928:function(t,e,r){"use strict";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:"trace",name:"image",basePlotModule:r(57952),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},63715:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(z||D){var R=v+E/2,F=m+L/2;P+="transform:"+a(R+"px",F+"px")+"scale("+(z?-1:1)+","+(D?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",P);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),z=O._hasGauge,D=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=O.align||"center";if(E=j,z){if(D&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),P=[];v._hasNumber&&P.push("number"),v._hasDelta&&(P.push("delta"),"left"===v.delta.position&&P.reverse());var O=C.selectAll("text").data(P);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append("text"),O.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),O.exit().remove();var z,D=v.mode+v.align;if(v._hasDelta&&(z=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),D+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,D+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),D+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),D,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,D,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),z.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(v,"numbersScale",1,t[0],D,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,D,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var W=I.selectAll("g.angular").data(D?e:[]);W.exit().remove();var Y=I.selectAll("g.angularaxis").data(D?e:[]);Y.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},z=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*z},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return D(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=O(t);return D(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll("g.threshold-arc").data(F);W.enter().append("g").classed("threshold-arc",!0).append("path"),W.select("path").call(P).call(T),W.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var X=I.selectAll("g.bullet").data(R?e:[]);X.exit().remove();var Z=I.selectAll("g.bulletaxis").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll("g.bg-bullet").data(C);P.enter().append("g").classed("bg-bullet",!0).append("rect"),P.select("rect").call(L).call(T),P.exit().remove();var O=f.selectAll("g.value-bullet").data([c.gauge.bar]);O.enter().append("g").classed("value-bullet",!0).append("rect"),O.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?O.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),z=f.selectAll("g.threshold-bullet").data(I);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),z.exit().remove();var D=f.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(L).call(T),D.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var K=I.selectAll("text.title").data(e);K.exit().remove(),K.enter().append("text").classed("title",!0),K.attr("text-anchor",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),K.attr("transform",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(K.node());return z?(D&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},62624:function(t,e,r){"use strict";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?tt(e,f,o,s,h,n[a]):"y"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?K(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(z(v.fill),n[a]="x"===r?K(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){"use strict";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:"cmin",max:"cmax"},plot:r(31460).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(12536),categories:["gl3d","showLegend"],meta:{}}},52948:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},576:function(t,e,r){"use strict";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(57952),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){"use strict";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},97384:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o="array");var f=r("categoryorder",o);"array"===f?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==f||(e.categoryorder="trace")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:f}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size),color:c.font.color};n.coerceFont(h,"labelfont",v);var g={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(h,"tickfont",g)}},22020:function(t,e,r){"use strict";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(91800),categories:["noOpacity"],meta:{}}},51036:function(t,e,r){"use strict";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var z=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(z),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var D=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(D)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",P).on("drag",O).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function P(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=z(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){"use strict";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){"use strict";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},71864:function(t,e,r){"use strict";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){"use strict";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(19976),categories:["gl","regl","noOpacity","noHover"],meta:{}}},19976:function(t,e,r){"use strict";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},95044:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={weight:l.font.weight,style:l.font.style,variant:l.font.variant,family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},95724:function(t,e,r){"use strict";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},29928:function(t,e,r){"use strict";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){"use strict";var n=["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"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,P=s.tickvals;function O(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(P)&&P.length){i.isTypedArray(P)&&(P=Array.from(P)),C=s.ticktext,a(C)&&C.length?C.length>P.length?C=C.slice(0,P.length):P.length>C.length&&(P=P.slice(0,C.length)):C=P.map(o(s.tickformat));for(var z=1;z=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,v);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){z(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),z(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,z(V,e,w),n.select(this).attr("transform",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,v);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,v);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("text-shadow",f.makeTextShadow(k)).style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,v);G.enter().append("g").classed(x.cn.axisHeading,!0);var W=G.selectAll("."+x.cn.axisTitle).data(g,v);W.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=q.selectAll("."+x.cn.axisExtent).data(g,v);Y.enter().append("g").classed(x.cn.axisExtent,!0);var X=Y.selectAll("."+x.cn.axisExtentTop).data(g,v);X.enter().append("g").classed(x.cn.axisExtentTop,!0),X.attr("transform",c(0,-x.axisExtentOffset));var Z=X.selectAll("."+x.cn.axisExtentTopText).data(g,v);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(O),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll("."+x.cn.axisExtentBottom).data(g,v);K.enter().append("g").classed(x.cn.axisExtentBottom,!0),K.attr("transform",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll("."+x.cn.axisExtentBottomText).data(g,v);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(O),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){"use strict";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){"use strict";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},80036:function(t,e,r){"use strict";var n=r(7316);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},53644:function(t,e,r){"use strict";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){"use strict";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){"use strict";var n=r(3400);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:z(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){"use strict";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},35484:function(t,e,r){"use strict";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},11072:function(t,e,r){"use strict";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){"use strict";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},156:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:"trace",name:"pointcloud",basePlotModule:r(39952),categories:["gl","gl2d","showLegend"],meta:{}}},41440:function(t,e,r){"use strict";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},10760:function(t,e,r){"use strict";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var P="";a.label&&a.label[e]&&(P=a.label[e]);var O=null;P&&d.hasOwnProperty(P)&&(O=d[P]),u.push({pointNumber:e,label:P,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:O,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,z=o(r.color),D=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:z?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},47140:function(t,e,r){"use strict";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate"),y("align");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_("hovercolor",Array.isArray(k)?k.map(A):A(k)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},45499:function(t,e,r){"use strict";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:"trace",name:"sankey",basePlotModule:r(10760),selectPoints:r(81128),categories:["noOpacity"],meta:{}}},59596:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){"use strict";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function P(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat"),m("zorder");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===O&&(O={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:O.x0,x1:O.x1,y0:O.y0,y1:O.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){"use strict";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(57952),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},55308:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},59748:function(t,e,r){"use strict";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},66828:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},52340:function(t,e,r){"use strict";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P="log"===L.type,O="log"===C.type,I=L._length,z=C._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*z*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(D&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},74428:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},31147:function(t,e,r){"use strict";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},96504:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var P,O,I=w.fill.charAt(w.fill.length-1);"x"!==I&&"y"!==I&&(I=""),"y"===I?(P=1,O=_.c2p(0,!0)):"x"===I&&(P=0,O=b.c2p(0,!0)),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var z,D,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},91560:function(t,e,r){"use strict";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},3296:function(t,e,r){"use strict";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(41484),moduleType:"trace",name:"scatter3d",basePlotModule:r(12536),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},90372:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:u({},i.mode,{dflt:"markers"}),text:u({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},l("marker.line")),gradient:c.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){"use strict";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){"use strict";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:"trace",name:"scattercarpet",basePlotModule:r(57952),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},20036:function(t,e,r){"use strict";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){"use strict";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:"trace",name:"scattergeo",basePlotModule:r(10816),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48691:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v="geojson-id"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!z.fill2d&&(z.fill2d=!0),I.marker&&!z.scatter2d&&(z.scatter2d=!0),I.line&&!z.line2d&&(z.line2d=!0),!I.errorX&&!I.errorY||z.error2d||(z.error2d=!0),I.text&&!z.glText&&(z.glText=!0),I.marker&&(I.marker.snap=b),z.lineOptions.push(I.line),z.errorXOptions.push(I.errorX),z.errorYOptions.push(I.errorY),z.fillOptions.push(I.fill),z.markerOptions.push(I.marker),z.markerSelectedOptions.push(I.markerSel),z.markerUnselectedOptions.push(I.markerUnsel),z.textOptions.push(I.text),z.textSelectedOptions.push(I.textSel),z.textUnselectedOptions.push(I.textUnsel),z.selectBatch.push([]),z.unselectBatch.push([]),T._scene=z,T.index=z.count,T.x=E,T.y=L,T.positions=C,z.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){"use strict";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var _=i._d3locale,w=Array.isArray(b),T=w?Math.min(b.length,a):a,k=w?function(t){return b[t]}:function(){return b};for(r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){"use strict";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(33688),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},9660:function(t,e,r){"use strict";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(40872),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(47788),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},34864:function(t,e,r){"use strict";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:"trace",name:"scatterternary",basePlotModule:r(19352),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},88776:function(t,e,r){"use strict";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,z={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var O=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||z("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},78176:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},28732:function(t,e,r){"use strict";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},96488:function(t,e,r){"use strict";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),z=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,D=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,z,D)},Y=function(t){return z+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr("d",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){"use strict";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},56576:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},79164:function(t,e,r){"use strict";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},55992:function(t,e,r){"use strict";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[""],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[""]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),P={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return P.columns.forEach((function(t){t.calcdata=P,t.x=h(t)})),P}},53056:function(t,e,r){"use strict";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){"use strict";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":k(t.calcdata.cells.prefix,e,r)||"",d=c?"":k(t.calcdata.cells.suffix,e,r)||"",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(P(t,r,e,u,n.prevPages,n,0),P(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function P(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function O(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),L(null,t.filter(M),0),b(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(z(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function z(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},79516:function(t,e,r){"use strict";var n=r(7316);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){"use strict";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc("treemap",t)}},32984:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},34092:function(t,e,r){"use strict";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){"use strict";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},27336:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,z=c.listPath(r.data,"id"),D=s(O.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=z.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},76477:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),z=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,D=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?z?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),D=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");D.text(F).classed("slicetext",!0).attr("text-anchor",O?"end":P||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr("transform",w(s))})),B}},83024:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(O+I):0,D={x0:P,x1:P,y0:z,y1:z+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+","+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+K(l.x,l.y)+"L"+K(u.x,u.y)+"L"+K(s.x,s.y)+"L"+K(c.x,c.y)+"L"+K(f.x,f.y)+"L"+K(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+"0"]=P[0],E[b+"1"]=P[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var z=0,D=0;D")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},95952:function(t,e,r){"use strict";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:"trace",name:"waterfall",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},91352:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},59464:function(t,e,r){"use strict";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>f};case">=":return function(t){return p(t)>=f};case"[]":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case"()":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case"][":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case")(":return function(t){var e=p(t);return ef[1]};case"](":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case")[":return function(t){var e=p(t);return e=f[1]};case"{}":return function(t){return-1!==f.indexOf(p(t))};case"}{":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):m(t):"Buffer"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){Z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,z=0|o[8],D=8191&z,R=z>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var zt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=zt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var z=(O-=1)*b,D=w[z],R=w[z+1],F=w[z+2],B=w[z+3],N=w[z+4],j=w[z+5],U=O*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,D,R,F,W,Y,q))||4&j&&(R=y(t,D,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)"),v=c("lo===p0"),g=c("lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,P=2*b,O=2*w,I=2*p,z=2*v,D=2*d,R=0;R<2;++R){var F=f[C+R],B=f[P+R],N=f[O+R];f[I+R]=F,f[z+R]=B,f[D+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var z=-(O>>1)-1,D=0;D>1)-1,0===I?v(l,u,L--,z):1===I?v(c,f,C--,z):2===I&&v(h,p,P--,z)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],z=b*M,D=y[z+e+1],R=y[z+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(z=C+1;z0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.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=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),l("tickFontStyle")&&(c=!0),l("tickFontWeight")&&(c=!0),l("tickFontVariant")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),l("labelFontStyle")&&(v=!0),l("labelFontWeight")&&(v=!0),l("labelFontVariant")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor");var g=[{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]}],y=[{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&&(v||c)&&this._text.update(this.bounds,this.labels,g,this.ticks,y):this._text=n(this.gl,this.bounds,this.labels,g,this.ticks,y),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,z=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,z,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,z=(A+1+(1^O))%3,this.zeroEnable[z]&&Math.min(a[0][z],a[1][z])<=0&&Math.max(a[0][z],a[1][z])>=0&&this._lines.drawZero(I,z,this.bounds,P,this.zeroLineColor[z],this.zeroLineWidth[z]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];D[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(q[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)q[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),O=0;O<3;++O)q[O]+=k*U[O]*this.labelPad[O]/r[5*O];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m="raw"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,z={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:z,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var z=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,I));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=O,O=I,I=R;var F=C;C=P,P=F}z[0]<0&&(O[C]=-1),D[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:W<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],Z=k.cells||[],K=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var z=i[b+w+k],D=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,U,P);var W=n.create(),Y=n.create();n.lerp(W,V,H,O),n.lerp(Y,q,G,O);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),D.push(F),g.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*u&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(z,N)-A>-1e-4*A&&(P.push(N),z=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=P.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var I={model:T,view:T,projection:T,inverseModel:T.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},z=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=z;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=O(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var v=0,g=0,y=d(p,f.stride.slice());if("float32"===h?v=t.FLOAT:"float64"===h?(v=t.FLOAT,y=!1,h="float32"):"uint8"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),P+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"."===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?m:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,z=-1,D=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,P=l*q,O=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var z=u(L,C,P,O);z>1e-6?(L/=z,C/=z,P/=z,O/=z):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||"normal",s=n.fontWeight||"normal",l=n.fontVariant||"normal",u=[a,s,l,e].join("_"),c=o[u];c||(c=o[u]={" ":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],z=E[6],D=E[10],R=P*D-O*z,F=O*I-C*D,B=C*z-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],z=e[6],D=e[10],R=I*s+z*l+D*f,F=I*x+z*b+D*_,B=I*k+z*A+D*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,v-p),n=n.replace("?px ",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!m&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){"use strict";function n(t,e){for(var r=0;rf)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||et(t.length)?h(0):y(t):"Buffer"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t))}function v(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(t).length;default:if(i)return n?-1:J(t).length;e=(""+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return D(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new H.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,"number",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(s(e))}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return"undefined"==typeof BigInt?it:t}function it(){throw new Error("BigInt not supported")}},25928:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},48932:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,O=32,z=2,D=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,O,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,z,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C="function"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(O=+t,F):O},F.circularLinkGap=function(t){return arguments.length?(z=+t,F):z},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return P(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&z(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&z(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=O(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new z;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return K=function(t,e){return r.call(t,e)},K(t,e)};"function"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return"function"==typeof t?t:function(){return X(t,this)}}function Q(t){return"function"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=zt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Pe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function zr(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(On(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return Pn(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Dn(s),a=zn(a),s&&a;)l=zn(l),(o=Dn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Ot)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Pi,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Oi(Di,a)+","+Oi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uCt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*zt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Or,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return L}function P(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var O,I,z,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return O||(O=s.document.createElement("a")),O.href=t,O.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia("(prefers-reduced-motion: reduce)")),I.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):z=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement("img")).onload=function(){z&&H(z),z=null,q=!0},D.onerror=function(){V=!0,z=null},D.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),$(t)};var X=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Z(t){return X.test(t)}var K=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function $(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=P("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=P("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct="mapbox-tiles",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),mt}var _t={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&Z(r);"json"===t.type&&i.headers.set("Accept","application/json");var u=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Lt,Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Lt=0;var Pt=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},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"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if("string"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},he.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ve(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in be)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Wt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Yt))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe("",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Xt,"to-color":Zt,"to-number":Wt,"to-string":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function ze(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Pe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ve(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new _e(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof me)&&"resolvedImage"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Zt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new wr(u,r,n,i,l):e.error("Type "+re(u)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Pr(r.type,r,n,i):null}return new Pr(r.type,r,n)},Pr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Pr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Pr.prototype.outputDefined=function(){return!1},Pr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Dr=zr("==",(function(t,e,r){return e===r}),Ir),Rr=zr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=zr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=zr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=zr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Wt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":Dr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,"number-format":Ur,object:_e,slice:Pr,step:tr,string:_e,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:"success",value:t}}function Zr(t){return{result:"error",value:t}}function Kr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!_r[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=sn;else if("interval"===u)r=on;else if("categorical"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ue.parse(r):"formatted"===e.type?r=he.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],"geometry-type":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],"heatmap-density":[Wt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt("","data expressions not supported")]);var i=Ze(r,["zoom"]);if(!i&&!Jr(e))return Zr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Zr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return Kr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Ln(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(On)):"in"===r?Cn(t[1],t.slice(2)):"!in"===r?On(Cn(t[1],t.slice(2))):"has"===r?Pn(t[1]):"!has"===r?On(Pn(t[1])):"within"!==r||t}function Ln(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function Pn(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function On(t){return["!",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):zn(t)}function zn(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function fi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function mi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new zt("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Pi=function(){return Mi},Oi=function(){if(Mi!==_i||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},zi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};zi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ue.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new zi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new zi(Math.floor(e.zoom),e)),t.expression.evaluate(new zi(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Wi),oi("ColorRampProperty",Yi);var Zi="-transition",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate($n,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},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(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi("GlyphOffsetArray",Ca);var Pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Pa);var Oa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Oa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Oa(this,t)},e}(ba);oi("FeatureIndexArray",Ia);var za=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new Da,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Po(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Oo(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function zo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",bo,{omit:["layers"]});var Do=new Xi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Xi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:Do},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Oo("circle-radius",this,e)+Oo("circle-stroke-width",this,e)+Io(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=zo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Os(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Ps(t.i,t.x,t.y),n=new Ps(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Ps(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ps(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Os(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);zs(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ds(t,r,e),i(t[n],c)>0&&Ds(t,r,n);f0;)h--}0===i(t[r],c)?Ds(t,r,h):Ds(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),z=1;z2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",vl,{omit:["layers","patternFeatures"]});var gl=new Xi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Xi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Wi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Yi(Ft.paint_line["line-gradient"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new zi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Oo("line-width",this,e),Oo("line-gap-width",this,e)),n=Oo("line-offset",this,e);return r/2+Math.abs(n)+Io(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=zo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*_l(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{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"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{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"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Pl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Ol=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var zl=4294967296,Dl=1/zl,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Pl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Pl(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*Ll}D?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=z*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Pu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function Du(t,e,r,n,i,a,o,s,l){var u=Ou(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),z=new a(p/s,y/s),D=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Ku;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Ku}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-Ku;break;case"bottom-right":case"bottom-left":n=-i+Ku;break;case"bottom":n=-e+Ku;break;case"top":n=e-Ku}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'):"composite"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new zi(this.zoom),v=0,g=t;v=0;for(var I=0,z=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),dc={paint:new Xi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi("FormatSectionOverride",vc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Oc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Oc.prototype.setNorthEast=function(t){return this._ne=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.setSouthWest=function(t){return this._sw=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof zc)e=t,r=t;else{if(!(t instanceof Oc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Oc.convert(a))}var o=t;return this.extend(zc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new zc(e.lng,e.lat),this._ne=new zc(r.lng,r.lat)),this},Oc.prototype.getCenter=function(){return new zc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Oc.prototype.getSouthWest=function(){return this._sw},Oc.prototype.getNorthEast=function(){return this._ne},Oc.prototype.getNorthWest=function(){return new zc(this.getWest(),this.getNorth())},Oc.prototype.getSouthEast=function(){return new zc(this.getEast(),this.getSouth())},Oc.prototype.getWest=function(){return this._sw.lng},Oc.prototype.getSouth=function(){return this._sw.lat},Oc.prototype.getEast=function(){return this._ne.lng},Oc.prototype.getNorth=function(){return this._ne.lat},Oc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Oc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Oc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Oc.prototype.contains=function(t){var e=zc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Oc.convert=function(t){return!t||t instanceof Oc?t:new Oc(t)};var Ic=6371008.8,zc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};zc.prototype.wrap=function(){return new zc(h(this.lng,-180,180),this.lat)},zc.prototype.toArray=function(){return[this.lng,this.lat]},zc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},zc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},zc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Oc(new zc(this.lng-r,this.lat-e),new zc(this.lng+r,this.lat+e))},zc.convert=function(t){if(t instanceof zc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new zc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new zc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var Dc=2*Math.PI*Ic;function Rc(t){return Dc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=zc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new zc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/Dc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Pc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Pc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Ol(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new zi(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new zi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send("enforceCacheSizeLimit",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ol(t).readFields(Ql,[])},t.pbf=Ol,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new zi(h),o),u["text-size"].possiblyEvaluate(new zi(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new zi(v),o),u["icon-size"].possiblyEvaluate(new zi(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new zi(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new zi(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new zi(18));for(var y=l.get("text-line-height")*Ll,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,z=0,D=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),O=4*W.length;var X=t.iconSizeData,Z=null;"source"===X.kind?(Z=[Au*s.layout.get("icon-size").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'):"composite"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,P.lineStartIndex,P.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get("text-rotate").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(z+=rc(t,e,J,a,s,d,b,v,P,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(D+=rc(t,e,n.vertical,a,s,d,b,v,P,lu.vertical,["vertical"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,z,D,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if("line"===E)for(var O=0,I=Fu(e.geometry,0,0,po,po);O1){var U=zu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;z(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function z(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);z(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(D(t,e,n,r),e[2*i+a]>f&&D(t,e,n,i);hf;)p--}e[2*n+a]===f?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:W(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(zt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function zt(t){return"raster"===t||"image"===t||"video"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var z=0,D=v;z0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var O=1;O0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,z=0,D=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(z=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),X=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=Z(a.verticalIconBox)).box.length>0:(O=Z(a.iconBox)).box.length>0,S=S&&O.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&z?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=ze(y.text),k=_?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=ze(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:De;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?De:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var z=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var D=!0;if(u){var R=i.variableOffsets[v];R?(z=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||_,z.x,z.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?z.x:0,h?z.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function ze(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var De=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform 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\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;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\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;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);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Pr=function(t,e){return{u_matrix:t,u_world:e}},Or=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},zr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},jr=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get("raster-hue-rotate"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,zr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.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()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Pn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},On={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}};Pn.prototype.clone=function(){var t=new Pn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},On.minZoom.get=function(){return this._minZoom},On.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},On.maxZoom.get=function(){return this._maxZoom},On.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},On.minPitch.get=function(){return this._minPitch},On.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},On.maxPitch.get=function(){return this._maxPitch},On.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},On.renderWorldCopies.get=function(){return this._renderWorldCopies},On.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},On.worldSize.get=function(){return this.tileSize*this.scale},On.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},On.size.get=function(){return new t.Point(this.width,this.height)},On.bearing.get=function(){return-this.angle/Math.PI*180},On.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},On.pitch.get=function(){return this._pitch/Math.PI*180},On.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},On.fov.get=function(){return this._fov/Math.PI*180},On.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},On.zoom.get=function(){return this._zoom},On.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},On.center.get=function(){return this._center},On.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},On.padding.get=function(){return this._edgeInsets.toJSON()},On.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},On.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Pn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Pn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Pn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Pn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Pn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Pn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},On.unmodified.get=function(){return this._unmodified},Pn.prototype.zoomScale=function(t){return Math.pow(2,t)},Pn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Pn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Pn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},On.point.get=function(){return this.project(this.center)},Pn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Pn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Pn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Pn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Pn.prototype.coordinateLocation=function(t){return t.toLngLat()},Pn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Pn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Pn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Pn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Pn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Pn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Pn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Pn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Pn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Pn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Pn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Pn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var zn={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},zn),Rn=t.extend({deceleration:20,maxSpeed:1400},zn),Fn=t.extend({deceleration:1e3,maxSpeed:360},zn),Bn=t.extend({deceleration:1e3,maxSpeed:90},zn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},z=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(z)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*z,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.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"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Li=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return"bottom-left"},Li.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error("maxPitch must be less than or equal to 60");var i=new Pn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Pi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ii))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.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),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.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(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Xi--,Zi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}$i.prototype.getDefaultPosition=function(){return"bottom-left"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._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 t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+c.x+"px,"+c.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},3108:function(t,e,r){"use strict";t.exports=r(26099)},26099:function(t,e,r){"use strict";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&P.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,O=a+1;e(r,n,E,O,d,v||b||_||k),e(r,n+E,E,O,v,b||_||k),e(r+E,n,E,O,b,_||k),e(r+E,n+E,E,O,_,k)}}(0,0,1,0,0,1),P},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},3256:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},84880:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},43752:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g="",y="",m="",x="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==h(t)||null===t)throw new d("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g="",y="",x="",m=""):(g="",y="",x="",m="")),"object"===h(u)&&null!==u&&"object"===h(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=_(u),c=_(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,f(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=w(t),c=u.split("\n"),f=w(e).split("\n"),p=0,d="";if("strictEqual"===r&&"object"===h(t)&&"object"===h(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!("object"===h(t)&&null!==t||"object"===h(e)&&null!==e||0===t&&0===e))return"".concat(b[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",p),"^"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s="\n ".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(g,"...").concat(x);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}p>3&&(s="\n".concat(g,"...").concat(x).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=b[r]+"\n".concat(y,"+ actual").concat(x," ").concat(m,"- expected").concat(x),L=" ".concat(g,"...").concat(x," Lines skipped");for(p=0;p1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(f[p-2]),S++),a+="\n ".concat(f[p-1]),S++),o=p,i+="\n".concat(m,"-").concat(x," ").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(c[p]),S++;else{var P=f[p],O=c[p],I=O!==P&&(!v(O,",")||O.slice(0,-1)!==P);I&&v(P,",")&&P.slice(0,-1)===O&&(I=!1,O+=","),I?(C>1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(O),i+="\n".concat(m,"-").concat(x," ").concat(P),S+=2):(a+=i,i="",1!==C&&0!==p||(a+="\n ".concat(O),S++))}if(S>20&&p30)for(k[26]="".concat(g,"...").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,"".concat(T," ").concat(k[0]))):o(this,f(e).call(this,"".concat(T,"\n\n").concat(k.join("\n"),"\n")))}else{var A=w(u),M="",S=b[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(b[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(w(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,f(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},25116:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},64928:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){"use strict";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){"use strict";var n=r(8844),i=r(53664),a=r(14500),o=i("%TypeError%"),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(l,s),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){"use strict";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){"use strict";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){"use strict";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){"use strict";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],u="rgb"===l;r=s=l.replace(/a$/,"");var c="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){"use strict";var n=r(19336);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},36116:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},42771:function(t,e,r){"use strict";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){"use strict";var n=r(30584);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},46416:function(t,e,r){"use strict";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){"use strict";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),z=0}}function q(){var t=R.now(),e=t-I;e>O&&(D-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-z>24?(t<1/0&&(C=setTimeout(V,t-R.now()-D)),P&&(P=clearInterval(P))):(P||(I=R.now(),P=setInterval(q,O)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},87108:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return z},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return Dt},geoCrasterRaw:function(){return zt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return ze},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Pr},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Or},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return On},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Oi},geoTimes:function(){return zi},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function z(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function D(){var t=_,e=(0,n.U)(z),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function zt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function Dt(){return(0,n.c)(zt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}zt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,z=S*A*O-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*O*B-2*D/(1+M)+S*O*D+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(z*G-I*Y)/X,K=(I*W-z*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?D=r:z=r,r=.5*(D+z)}while(i(z-D)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function ze(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var De=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-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 hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-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 dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-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 gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-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 mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-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 br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-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 wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Pr(){return(0,n.c)(Cr).scale(139.98)}function Or(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Or).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=P(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Or.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),Jr=P(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-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 fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=Pn(h)/Pn(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),On(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*P(3),ta=2*P(2*b*P(3)/Qi),ea=it(ta*P(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*P(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){"use strict";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){"use strict";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){"use strict";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){"use strict";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=O;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function O(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(P,g),[T,(0,n.G)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){"use strict";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){"use strict";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Pt,Ot,It=(0,v.c)(),zt={point:y.c,lineStart:function(){zt.point=Dt},lineEnd:function(){Et&&Rt(Lt,Ct),zt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function Dt(t,e){zt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._I)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=zt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){"use strict";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){"use strict";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){"use strict";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.WE)(P*E*(0,a.g$)(L),b*M+P*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var O=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(O);var I=(0,i.CW)(u,O);(0,i.cJ)(I);var z=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>z||n===z&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*P+b*O)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,P*l.oh]},j.angle=function(t){return arguments.length?(O=t%360*l.qw,V()):O*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){"use strict";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){"use strict";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){"use strict";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return O},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){"use strict";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){"use strict";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},zt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:z,e:z,f:j,H:R,I:R,j:D,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,"%":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=zt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=Dt(r,Ot),Ot.X=Dt(s,Ot),Ot.c=Dt(e,Ot),It.x=Dt(r,It),It.X=Dt(s,It),It.c=Dt(e,It),{format:function(t){var e=Dt(t+="",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+"000"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){"use strict";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){"use strict";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return z.c},utcYears:function(){return z.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),P=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,z=r(53528)},81628:function(t,e,r){"use strict";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){"use strict";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){"use strict";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){"use strict";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){"use strict";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){"use strict";var n=r(39640)(),i=r(53664),a=n&&i("%Object.defineProperty%",!0);if(a)try{a({},"a",{value:1})}catch(t){a=!1}var o=i("%SyntaxError%"),s=i("%TypeError%"),l=r(2304);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},81288:function(t,e,r){"use strict";var n=r(41820),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){"use strict";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){"use strict";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){"use strict";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){"use strict";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},81892:function(t,e,r){"use strict";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){"use strict";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},76024:function(t,e,r){"use strict";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){"use strict";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){"use strict";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){"use strict";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},80940:function(t,e,r){"use strict";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},52891:function(t,e,r){"use strict";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},60964:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){"use strict";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){"use strict";var n=r(94576);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},46492:function(t,e,r){"use strict";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=A(t,0,1),r=A(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){"use strict";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){"use strict";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){"use strict";var n=r(46672)(),i=r(99676)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},85992:function(t){"use strict";t.exports=function(t){return t!=t}},1560:function(t,e,r){"use strict";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){"use strict";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},59736:function(t,e,r){"use strict";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},58908:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){"use strict";var n=r(46492),i=r(63436),a=r(99676),o=a("Object.prototype.toString"),s=r(46672)(),l=r(2304),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},32868:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){"use strict";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},28648:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},5588:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},41924:function(t,e,r){"use strict";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},87968:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},90328:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},16024:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){"use strict";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){"use strict";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.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},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(O=O.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*O[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(O[t]-z)})),n=l(e,r);n=n.map((function(e){return e+z+(e+zt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\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.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new z(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,D(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new z(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function z(t){return Array.prototype.slice.call(t)}function D(t){return z(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,z(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),z(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId="a1",P(t,e),I(t,e,r,n.attributes,i),z(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),z(t,u,r,n.uniforms,a,!1),z(t,c,r,n.uniforms,i,!0),D(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return q(W,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),O(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&o){var c=o(t,"length");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},92784:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.i=e},15316:function(t,e,r){"use strict";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(z,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(z,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){"use strict";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},47264:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){"use strict";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){"use strict";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.o=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},39956:function(t,e,r){"use strict";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;Pe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){"use strict";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function z(t){return u(1,c(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},7328:function(t,e,r){"use strict";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){"use strict";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},85488:function(t,e,r){"use strict";var n=r(73384),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){"use strict";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){"use strict";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},18496:function(t,e,r){"use strict";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},81680:function(t){"use strict";t.exports=function(t){return null!=t}},14144:function(t,e,r){"use strict";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},45223:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),L(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(75272);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function P(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?P(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?P(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?"0":"")+t.toString(16)}function P(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function O(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?O(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(z(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(z(this.h),", ").concat(100*D(this.s),"%, ").concat(100*D(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},86712:function(t,e,r){"use strict";t.exports=r(84224)},37240:function(t,e,r){"use strict";t.exports=r(51132)},29744:function(t,e,r){"use strict";t.exports=r(94456)},29352:function(t,e,r){"use strict";t.exports=r(67244)},96144:function(t,e,r){"use strict";t.exports=r(97776)},53219:function(t,e,r){"use strict";t.exports=r(61712)},4624:function(t,e,r){"use strict";t.exports=r(95856)},54543:function(t,e,r){"use strict";t.exports=r(54272)},45e3:function(t,e,r){"use strict";t.exports=r(85404)},62300:function(t,e,r){"use strict";t.exports=r(26048)},6920:function(t,e,r){"use strict";t.exports=r(66240)},10264:function(t,e,r){"use strict";t.exports=r(40448)},32016:function(t,e,r){"use strict";t.exports=r(64884)},27528:function(t,e,r){"use strict";t.exports=r(15088)},75556:function(t,e,r){"use strict";t.exports=r(76744)},39204:function(t,e,r){"use strict";t.exports=r(94704)},73996:function(t,e,r){"use strict";t.exports=r(62396)},16489:function(t,e,r){"use strict";t.exports=r(32028)},5e3:function(t,e,r){"use strict";t.exports=r(81932)},77280:function(t,e,r){"use strict";t.exports=r(45536)},33992:function(t,e,r){"use strict";t.exports=r(42600)},17600:function(t,e,r){"use strict";t.exports=r(21536)},49116:function(t,e,r){"use strict";t.exports=r(65664)},46808:function(t,e,r){"use strict";t.exports=r(29044)},36168:function(t,e,r){"use strict";t.exports=r(48928)},13792:function(t,e,r){"use strict";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){"use strict";t.exports=r(43480)},25120:function(t,e,r){"use strict";t.exports=r(6296)},4340:function(t,e,r){"use strict";t.exports=r(7404)},86152:function(t,e,r){"use strict";t.exports=r(65456)},56816:function(t,e,r){"use strict";t.exports=r(22020)},89296:function(t,e,r){"use strict";t.exports=r(29928)},20260:function(t,e,r){"use strict";t.exports=r(75792)},32140:function(t,e,r){"use strict";t.exports=r(156)},84764:function(t,e,r){"use strict";t.exports=r(45499)},48824:function(t,e,r){"use strict";t.exports=r(3296)},69967:function(t,e,r){"use strict";t.exports=r(4184)},8363:function(t,e,r){"use strict";t.exports=r(36952)},86636:function(t,e,r){"use strict";t.exports=r(38983)},70192:function(t,e,r){"use strict";t.exports=r(11572)},81604:function(t,e,r){"use strict";t.exports=r(76924)},63796:function(t,e,r){"use strict";t.exports=r(62944)},89336:function(t,e,r){"use strict";t.exports=r(95443)},67484:function(t,e,r){"use strict";t.exports=r(34864)},97312:function(t,e,r){"use strict";t.exports=r(76272)},42192:function(t,e,r){"use strict";t.exports=r(97924)},29800:function(t,e,r){"use strict";t.exports=r(15436)},63560:function(t,e,r){"use strict";t.exports=r(5621)},89904:function(t,e,r){"use strict";t.exports=r(91304)},50248:function(t,e,r){"use strict";t.exports=r(41724)},65832:function(t,e,r){"use strict";t.exports=r(31991)},79440:function(t,e,r){"use strict";t.exports=r(22869)},13752:function(t,e,r){"use strict";t.exports=r(67776)},83096:function(t,e,r){"use strict";t.exports=r(95952)},72196:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},13916:function(t,e,r){"use strict";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},90272:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(O,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:u.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-X),transform:s(Y,X)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+O+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",W(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+O/B.w,ot+Q-O/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*D+3+.75*yt,t=O+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(X);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+K+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-K-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?O:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?O:0),q=(o?st:rt)-(o?$:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+O)+H).attr("y",(o?st+P-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max($-(o?2*P+xt:2*O+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=z?B.t-W:-W,t.attr("transform",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),X=Y[0].length,Z=t.select("."+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?("pixels"===h?(tt.y=D,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=D+l*ot,tt.yb=D-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-D,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=D-y*ot,tt.yb=D+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&z?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:z||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){"use strict";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},47128:function(t,e,r){"use strict";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},95504:function(t,e,r){"use strict";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){"use strict";var n=r(3400),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){"use strict";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){"use strict";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},98192:function(t,e){"use strict";e.u={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.c={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},43616:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t){return"none"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,c=e.lineposition,f=e.textcase;s&&t.style("font-family",s),o+1&&t.style("font-size",o+"px"),a&&t.call(u.fill,a),i&&t.style("font-weight",i),n&&t.style("font-style",n),r&&t.style("font-variant",r),f&&t.style("text-transform",b(function(t){return _[t]}(f))),l&&t.style("text-shadow","auto"===l?h.makeTextShadow(u.contrast(a)):b(l)),c&&t.style("text-decoration-line",b(function(t){return t.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(c)))};var _={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&"none"!==a.type){var d,v,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(E,r,y,"linear",a.colorscale,"fill",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=nt(t,r),p=W(t,r);e.attr("d",A(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var k=t.mgc;k?y=!0:k=b.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,_,[[0,k],[1,d]],"fill")}else if(T){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),O=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),D=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+="-"+t.i),x.pattern(e,"point",a,z,T,I,D,t.mcc,w.fillmode,O,C,P)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",A(x.symbolNumber(a),o,nt(n,e),W(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function D(t,e,r){return r&&(t=j(t)),e?R(t[1]):z(t[0])}function z(t){var e=n.round(t,2);return L=e,e}function R(t){var e=n.round(t,2);return C=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[z(e[0]+(h&&c/h)),R(e[1]+(h&&f/h))],[z(e[0]-(p&&c/p)),R(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=I(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=I(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r="M"+z(t[0][0])+","+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var G=/translate\([^)]*\)\s*$/;function W(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=W;var Y,X,Z,K,J,$,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=Q(v[1]-n,v[0]-r),y=Q(d[1]-n,d[0]-r);if("north"===s)f=a/180*Math.PI;else if("previous"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=Y/180*Math.PI,_=X/180*Math.PI,w=b-m,T=tt(_)*et(w),k=et(_)*tt(x)-tt(_)*et(x)*tt(w);f=-Q(T,k)-Math.PI,Y=h,X=p}var A=rt(g,[tt(f),0]),M=rt(y,[et(f),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||$===e.uid&&t.i===J+1||(a=null)}if("previous"===s&&!e._geo)if($===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-Z,E=n-K,L=e.line&&e.line.shape||"",C=L.slice(L.length-1);"h"===C&&(E=0),"v"===C&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return Z=r,K=n,J=t.i,$=e.uid,a}x.getMarkerAngle=nt},71984:function(t,e,r){"use strict";var n,i,a,o,s=r(21984),l=r(33428).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},92036:function(t,e,r){"use strict";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},55756:function(t,e,r){"use strict";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},55056:function(t,e,r){"use strict";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexZ[0]._length||bt<0||bt>K[0]._length)return v.unhoverRaw(t,e)}else xt="xpx"in e?e.xpx:Z[0]._length/2,bt="ypx"in e?e.ypx:K[0]._length/2;if(e.pointerX=xt+Z[0]._offset,e.pointerY=bt+K[0]._offset,rt="xval"in e?m.flat(x,e.xval):m.p2c(Z,xt),nt="yval"in e?m.flat(x,e.yval):m.p2c(K,bt),!i(rt[0])||!i(nt[0]))return o.warn("Fx.hover failed",e,t),v.unhoverRaw(t,e)}var kt=1/0;function At(r,n){for(at=0;atdt&&(vt.splice(0,dt),kt=vt[0].distance),A&&0!==et&&0===vt.length){pt.distance=et,pt.index=!1;var c=st._module.hoverPoints(pt,ft,ht,"closest",{hoverLayer:b._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=et}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=St(p),(!yt.vLinePoint||yt.vLinePoint.spikeDistance>f.spikeDistance)&&(yt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=St(g),(!yt.hLinePoint||yt.hLinePoint.spikeDistance>f.spikeDistance)&&(yt.hLinePoint=f))}}}}}function Mt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Bt-1;Nt--)qt(vt[Nt]);vt=jt,Ot()}var Ht=t._hoverdata,Gt=[],Wt=q(t),Yt=H(t);for(it=0;it1||vt.length>1)||"closest"===M&&mt&&vt.length>1,oe=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),se=D(vt,{gd:t,hovermode:M,rotateLabels:ae,bgColor:oe,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),le=se.hoverLabels;if(m.isUnifiedHover(M)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=R(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(S+p.y)-T(t.by/2-S))+T(t.by);else{var M=w(A*S+p.x),E=M+w(A*t.bx);u=t.crossPos+Math.min(M,E),c=t.crossPos+Math.max(M,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(M.push.apply(M,E),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var O=g[s];for(l=O.length-1;l>=0;l--){var P=O[l],I=P.datum;I.offset=P.dp,I.del=P.del}}}(le,ae,b,se.commonLabelBoundingBox),F(le,ae,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=y.getComponentMethod("annotations","hasClickToShow")(t,Gt);h(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ht)&&(Ht&&t.emit("plotly_unhover",{event:e,points:Ht}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:Z,yaxes:K,xvals:rt,yvals:nt}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=q(i),o=H(i),s=D(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(y.traceIs(v,"gl3d")){var g=i._fullLayout[v.scene]._scene.container,m=g.offsetLeft,x=g.offsetTop;c+=m,f+=m,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function D(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||x.HOVERFONT,k=e.fontSize||x.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,L=e.fontVariant||i.font.variant,C=e.fontTextcase||i.font.textcase,O=e.fontLineposition||i.font.lineposition,I=e.fontShadow||i.font.shadow,D=t[0],R=D.xa,F=D.ya,B=a.charAt(0),N=B+"Label",j=D[N];if(void 0===j&&"multicategory"===R.type)for(var U=0;Ui.width-w&&(P=i.width-w),e.attr("d","M"+(m-P)+",0L"+(m-P+S)+","+_+S+"H"+w+"v"+_+(2*E+b.height)+"H"+-w+"V"+_+S+"H"+(m-P-S)+"Z"),m=P,Q.minX=m-w,Q.maxX=m+w,"top"===R.side?(Q.minY=x-(2*E+b.height),Q.maxY=x-E):(Q.minY=x+E,Q.maxY=x+(2*E+b.height))}else{var z,B,N;"right"===F.side?(z="start",B=1,N="",m=R._offset+R._length):(z="end",B=-1,N="-",m=R._offset),x=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",z),e.attr("d","M0,0L"+N+S+","+S+"V"+(E+b.height/2)+"h"+N+(2*E+b.width)+"V-"+(E+b.height/2)+"H"+N+S+"V-"+S+"Z"),Q.minY=x-(E+b.height/2),Q.maxY=x+(E+b.height/2),"right"===F.side?(Q.minX=m+S,Q.maxX=m+S+(2*E+b.width)):(Q.minX=m-S-(2*E+b.width),Q.maxX=m-S);var U,V=b.height/2,H=q-b.top-V,W="clip"+i._uid+"commonlabel"+F._id;if(m=0?dt:vt+mt=0?vt:Mt+mt=0?ht:pt+xt=0?pt:St+xt=0,"top"!==t.idealAlign&&J||!$?J?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,$=B-U/2-Q>=0,"left"!==t.idealAlign&&J||!$)if(J)B+=U/2,t.anchor="start";else{t.anchor="middle";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor="end";t.crossPos=B}_.attr("text-anchor",t.anchor),D&&P.attr("text-anchor",t.anchor),e.attr("transform",l(B,N)+(s?u(w):""))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function z(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=U(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(I,(function(e,r){return s=U(r,t.nameLength),""}))}return[l,s]}function R(t,e){var r=0,n=t.offset;return e&&(n*=-M,r=t.offset*A),{x:r,y:n}}function F(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select("text.nums"),h=t.anchor,d="end"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(S+E))+s*(i.txwidth+E),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+E),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=R(t,e),y=g.x,m=g.y,x="middle"===h;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*S+y)+","+o(S+m)+"v"+o(t.by/2-S)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*S+y)+"V"+o(m-S)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+E,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==h?(c.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+E:-t.bx-E):"right"===w&&"end"!==h&&(c.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-E:t.bx+E)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(f.positionText,a(v.text2ShiftX+v.alignShift*E+y),o(m+t.ty0-t.by/2+E)),r.select("rect").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function B(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("fontWeight","htw","hoverlabel.font.weight"),c("fontStyle","hty","hoverlabel.font.style"),c("fontVariant","htv","hoverlabel.font.variant"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function N(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var O,P,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(O=F,P=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),O=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function j(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function U(t,e){return f.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function V(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function q(t){return t.offsetTop+t.clientTop}function H(t){return t.offsetLeft+t.clientLeft}function G(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},41008:function(t,e,r){"use strict";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},93024:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:"component",name:"fx",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(62376)}},65460:function(t,e,r){"use strict";var n=r(92456),i=r(25376),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},88336:function(t,e,r){"use strict";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},81976:function(t,e,r){"use strict";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){"use strict";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),O="paper"===p("yref"),P="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?O?(E=1.1,L="bottom"):(E=1,L="top"):O?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",P?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",D)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style("stroke-width",h.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(S);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(i.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=O(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&"right"===S,L=i.x>1||1===i.x&&"left"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:D:L?I&&"right"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(t){var e=k(t,i,g);z=Math.max(z,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&""!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k="paper"===h.xref,M="paper"===h.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[O(h)]*h._effHeight:d.height*(1-h.y)-g[O(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=O(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var P=S,I=E;S=k?i.constrain(S,0,d.width-h._width):P,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==P&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==I&&i.log("Constrain "+w+".y to make legend fit inside graph")}u.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||h._height<=h._maxHeight||t._context.staticPlot){var D=h._effHeight;T&&(D=h._height),U.attr({width:h._width-_,height:D-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select("rect").attr({width:h._width-2*_,height:D-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var z,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select("rect").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on("wheel",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,F=Z)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=u.getTranslate(N);m=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==m&&void 0!==x){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+".x"]=e,r[w+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on("edit",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(n===_?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)"left"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function O(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?c.visible&&c.type===o:i.traceIs(c,"bar"),v=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);v.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if("middle"===l&&0===s||!u||!c)i.attr("transform",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr("transform",o(h,f))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x),b.tC=y("textfont.textcase",x),b.tE=y("textfont.lineposition",x),b.tS=y("textfont.shadow",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){"use strict";r(76052),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},44248:function(t,e,r){"use strict";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(P=["toggleHover"],I=["resetViews"]):y?(O=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],I=["resetGeo"]):g?(P=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(O=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],I=["resetViewMapbox"]):b?P=["hoverClosestGl2d"]:m?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):P=["toggleHover"],v&&(P=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b="col-resize",y+_>r._length)return;c=y+_,p=m;break;case u:if(b="col-resize",m+_<0)return;c=y,p=m+_;break;default:b="ew-resize",c=v,p=v+_}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){"use strict";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},81004:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},5968:function(t,e,r){"use strict";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e,O.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){"use strict";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},96084:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,O="y1"):(M=_,C="y1",S=p,O="y0"),tt(n),nt(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),Q.moveFn="move"===z?et:rt,Q.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),it(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||it(l)}};function tt(r){if(b(t))z=null;else if(j)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),z=l.split("-")[0]}}function et(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else B?V("xanchor",r.xanchor=K(w+n)):(V("x0",r.x0=K(f+n)),V("x1",r.x1=K(x+n))),N?V("yanchor",r.yanchor=J(A+i)):(V("y0",r.y0=J(p+i)),V("y1",r.y1=J(_+i)));e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function rt(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else if(j){if("resize-over-start-point"===z){var h=f+n,d=N?p-i:p+i;V("x0",r.x0=B?h:K(h)),V("y0",r.y0=N?d:J(d))}else if("resize-over-end-point"===z){var v=x+n,g=N?_-i:_+i;V("x1",r.x1=B?v:K(v)),V("y1",r.y1=N?g:J(g))}}else{var b=function(t){return-1!==z.indexOf(t)},T=b("n"),G=b("s"),Y=b("w"),$=b("e"),Q=T?M+i:M,tt=G?S+i:S,et=Y?E+n:E,rt=$?L+n:L;N&&(T&&(Q=M-i),G&&(tt=S-i)),(!N&&tt-Q>F||N&&Q-tt>F)&&(V(C,r[C]=N?Q:J(Q)),V(O,r[O]=N?tt:J(tt))),rt-et>R&&(V(P,r[P]=B?et:K(et)),V(I,r[I]=B?rt:K(rt)))}e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function nt(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=X(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Z(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function it(t){t.selectAll(".visual-cue").remove()}d.init(Q),$.node().onmousemove=tt}(t,F,c,e,r,z):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("above"===c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):"between"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},41592:function(t,e,r){"use strict";var n=r(4016);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)("shapes"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},89861:function(t,e,r){"use strict";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},60876:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return V.call(q),N&&(E?V.on(".opacity",null):(A=0,M=!0,V.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),V.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(q)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),V.classed("js-placeholder",M),T}}},88444:function(t,e,r){"use strict";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},73712:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},91384:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){"use strict";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,O=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,I=d+v,D=g;I+O>l&&(I=l-O);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:O,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+O+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},36208:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},48164:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},26880:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},69104:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},99168:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},13448:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},2264:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},9616:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},64884:function(t,e,r){"use strict";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},98308:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){"use strict";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){"use strict";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=v(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),"auto"===t?e.set("auto"):n(t)?e.set(h(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||f(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!f(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var O=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(k,O.toMonthIndex(k,A,P),M)}else C=O.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var O=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),O[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var P=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+P);return u.setUTCMonth(u.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},3400:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var z=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},37804:function(t,e,r){"use strict";var n=r(22296),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},30988:function(t,e,r){"use strict";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){"use strict";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){"use strict";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){"use strict";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){"use strict";var n=r(38248),i=r(25928);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){"use strict";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){"use strict";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),O=n.select(t.node().parentNode);if(!O.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=O.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:P,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===P[0])m=x-v/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){O.empty()||(P=t.attr("class")+"-math",O.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),O=0;O|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(m),a=[],o="",s=0,l=0;l3?a.push(u.substr(0,p-3)+"..."):a.push(u.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function O(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){"use strict";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){"use strict";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},6580:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},69820:function(t,e,r){"use strict";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),O=[],P=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?O.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b=0;x--)L.splice(O[x],1),C&&C.splice(O[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===P)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=P);x++)D.push(_);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function z(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var R=I.parts[z],F=I.parts[z-1]+"."+R,j=I.parts.slice(0,z).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==D){k[P]=D,S[P]="reverse"===R?D:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==D)for(var Z in G.impliedEdits)E(o.relativeAttr(P,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var J="height"===P?"width":"height";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",D?null:l.width),E("height",D?null:l.height);else if(F.match(W))O(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){O(F),s(l,j+"._inputRange").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){L=U;var Q="linear"===q.type&&"log"===D,tt="log"===q.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,q,D,E),c.getComponentMethod("images","convertCoords")(t,q,D,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(D)?S[P]=null:w.isRemoveVal(D)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):("dragmode"===P&&(!1===D&&!1!==H||!1!==D&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(D))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+"["+o+"]";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+"."+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);if(y>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},67024:function(t,e,r){"use strict";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){"use strict";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,O=Array.isArray(k);if(O&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(O?Math.min(P,k[M].length):P);A++)S=O?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,L)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},19280:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>O?M/A>P&&(w=b,T=_,P=M/A):M/C>P&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},P=M/C));if(h===v){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,z/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=P;n--)O(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},54460:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,O=v.MINUS_SIGN,P=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(84284),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,q=N.OPPOSITE_SIDE,H=t.exports={};H.setConvert=r(78344);var G=r(52976),W=r(79811),Y=W.idSort,X=W.isLinked;H.id2name=W.id2name,H.name2id=W.name2id,H.cleanId=W.cleanId,H.list=W.list,H.listIds=W.listIds,H.getFromId=W.getFromId,H.getFromTrace=W.getFromTrace;var Z=r(19280);H.getAutoRange=Z.getAutoRange,H.findExtremes=Z.findExtremes;var K=1e-4;function J(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},H.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=H.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=H.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?et(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?rt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":et(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?et(f,h)||(t.dtick=rt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(D){if(t._tmin=V,V=N:Y<=N;Y=H.tickIncrement(Y,X,f,o)){if(D&&q++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===W)break;W=Y;var Z={value:Y};D?(U&&Y!==(0|Y)&&(Z.simpleLabel=!0),l>1&&q%l&&(Z.skipLabel=!0),C.push(Z)):(Z.minor=!0,O.push(Z))}}else C=[],v=at(t);else D?(C=[],v=ot(t,!z)):(O=[],L=ot(t,!z))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==P&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var it="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=zt(C[r].value,t);var ut=t.c2p(C[r].value);(it?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(mt(t.exponentformat)&&!xt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function gt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*dt(e,n,st);else if(o>T)e/=T,t.dtick="M"+dt(e,1,lt);else if(o>M){if(t.dtick=dt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ct),!r){var l=H.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=dt(e,E,lt):o>L?t.dtick=dt(e,L,ut):o>C?t.dtick=dt(e,C,ut):(n=a(10),t.dtick=dt(e,n,st))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+dt(e,n,st)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Dt(t)?(t.tick0=0,n=1,t.dtick=dt(e,n,pt)):(t.tick0=0,n=a(10),t.dtick=dt(e,n,st));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ht:ft,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=bt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||mt(p)&&xt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":O)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":O)+h:(e.text=bt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):Dt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=bt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=bt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=O+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=bt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+" - "+H.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":O+o:o};var yt=["f","p","n","μ","m","","k","M","G","T"];function mt(t){return"SI"===t||"B"===t}function xt(t){return t>14||t<-15}function bt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};vt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,O);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":mt(l)&&(t+=yt[u/3+5])),a?O+t:t}function _t(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function wt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=H.drawOne(t,n,r);return n._shiftPusher&&Bt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=H.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var b=e.linewidth/2||0;"inside"===e.ticks&&(b+=e.ticklen),Bt(e,b,p,!0),Bt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=H.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=At(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=At(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(_t(n,e.automargin),_t(i,e.automargin)),a.autoMargin(t,Et(e),n),a.autoMargin(t,Lt(e),i),a.autoMargin(t,Ct(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=St(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=H.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(Tt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(Tt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,kt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Ft(e,[R]),o.attr("transform",r.transFn)},H.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,kt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Ft(e,[D,z])}},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Ft(e,[I])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+"tick",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll("g."+c).data(e.showticklabels?f:[],kt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=u.lineCount(o),v=V*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}g.enter().append("g").classed(c,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Ft(e,[F]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=St(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*N&&(O=N,E[S]=L[S]=P[S])}var U=Math.abs(O-C);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var q=s.syncOrAsync(b);return q&&q.then&&t._promises.push(q),q},H.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},H.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===P)&&(Mt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){"use strict";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,u=r("categoryorder",a);"array"===u&&(l=r("categoryarray")),s||"array"!==u||(u=e.categoryorder="trace"),"trace"===u?e._initialCategories=[]:"array"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FO&&(O=F);h/=(O-C)/(2*P),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,O)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,K,J,e.id,Ot),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:P,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>O||o>O?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>O||o>O){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},42568:function(t,e,r){"use strict";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},96312:function(t,e,r){"use strict";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var u,c=e.getAutorangeDflt(l,i),f=r("autorange",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==f&&!0!==f)&&(null===l[0]||"min"!==f&&"max reversed"!==f)&&(null===l[1]||"max"!==f&&"min reversed"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r("autorange",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},21160:function(t,e,r){"use strict";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function O(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){"use strict";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var O=this.bounds=y.getBounds(C),P=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((O[1][0]-O[0][0])/(D[1][0]-D[0][0]),(O[1][1]-O[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*P):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*P);var R=this.midPt=[(O[0][0]+O[1][0])/2,(O[0][1]+O[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(O),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},10816:function(t,e,r){"use strict";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&O<0&&(O+=360);var P,I,D,z=(C+O)/2;if(!p){var R=d?f.projRotate:[z,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:P,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},79248:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:"zoom"})})),A=h.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(u),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,h,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){"use strict";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},9020:function(t,e,r){"use strict";var n=r(43080),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var O=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:O}),L.bbox=O[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if("cube"===D)g=[1,1,1];else if("manual"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,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:o,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:o,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:s,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:s,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:u,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@"+i+"."].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:",u.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\')'}}},89032:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},33688:function(t,e,r){"use strict";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p="mapbox",d=e.constants=r(47552);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split("|").join("
");b.text(T).attr("data-unformatted",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr("transform",a(-3,8-_.height)),x.insert("rect",".static-attribution").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(l.getComponentMethod("grid","sizeDefaults")(u,s),o=0;o15&&D.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var O=g[C].l||{},I=g[C].b||{},D=O.val,z=O.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var q=(z*U+(V-B)*D)/(U-D),H=(V*(1-D)+(z-B)*(1-U))/(U-D);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!f.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),"object"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],O=r.cy=S+E*b[3],P=r.cxx=C-M,I=r.cyy=O-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,O)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){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(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return O(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,O=s.radialAxis,P=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),u=P((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr("fill-rule","evenodd"),W=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],O=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0}),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",r.font,{overrideDflt:{color:d}}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){"use strict";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var O="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",O);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",O="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",P="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){"use strict";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},84664:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=h(n,"textfont",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,"insidetextfont",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,"pathbar.textfont",_)}y&&h(n,"outsidetextfont",m),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),u&&n("constraintext"),c&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c("xhoverformat"),c("yhoverformat"),c("zorder"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var h=c("textposition");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||a.defaultLine,{axis:"y"}),v(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return O(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){"use strict";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:"trace",name:"bar",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},39324:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},37156:function(t,e,r){"use strict";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return"auto"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function O(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);"auto"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var O=i.left*p+i.right*h,P=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,D=(r+n)/2,z=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,z=-B*F):(I=e-B*w,z=B*F):f?(D=r+B*w,R=-B*F):(D=n-B*w,R=B*F)}return{textX:O,textY:P,targetX:I,targetY:D,anchorX:z,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,P=e.yaxis,I=t._fullLayout,D=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var z=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,z="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,N=B||R,j=0;z&&f.connector.visible&&"between"===f.connector.mode&&(j=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=a.ensureSingle(u,"g","points"),H=T(f),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,T){var S,z,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),"waterfall"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,z=Z.color}}else S=v.getLineWidth(f,u),z=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(z)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:P.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt="M"+H+","+W+"V"+(Y-ut*st)+"H"+ft(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st-ct)+"V"+(W+rt*st+ct)+"A "+rt+","+rt+" 0 0 "+lt+" "+ft(G-(rt-it)*ot,H)+","+(W+ut*st)+"Z"}else if(u.hasB)tt="M"+(H+rt*ot)+","+W+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(W+rt*st)+"V"+(Y-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+Y+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st)+"V"+(W+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+W+"Z";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ht*ot)+","+W+"V"+dt(Y-(rt-it)*st,W)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+Y+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ht*ot)+","+dt(Y-(rt-it)*st,W)+"V"+W+"Z"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,"path"),I,g,y);if(vt.style("vector-effect",D?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,I=t._fullLayout;function D(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var z=n[0].trace,R="h"===z.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,P);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(z,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&"none"!==k&&(!N.isBlank&&s!==u&&f!==p||"auto"!==k&&"inside"!==k)){var q=I.font,H=d.getBarColor(n[i],z),G=d.getInsideTextFont(z,i,q,H),W=d.getOutsideTextFont(z,i,q),Y=z.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k="inside":(k="outside",Z.remove(),Z=null)}else k="inside";if(!Z){var ot=(Z=D(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?W:G))).attr("transform");if(Z.attr("transform",""),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr("transform",ot),J<=0||$<=0)return void Z.remove()}var st,lt=z.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"outside"===z.constraintext,angle:lt}):O(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"inside"===z.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h("histogram"===z.type?"bar":z.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select("text"),w,P,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,z,e,g)},toMoveInsideBar:O}},45784:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},82744:function(t,e,r){"use strict";var n=r(33428),i=r(3400);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},94456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(40872),categories:["polar","bar","showLegend"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},89580:function(t,e,r){"use strict";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:u({},c.symbol,{arrayOk:!1,editType:"plot"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:u({},c.angle,{arrayOk:!1,editType:"calc"}),size:u({},c.size,{arrayOk:!1,editType:"calc"}),color:u({},c.color,{arrayOk:!1,editType:"style"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},62555:function(t,e,r){"use strict";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,O,P,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==s&&W<=E.q1?W:p(E,C,O);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,O);var X=V("mean");E.mean=X!==s?X:O?o.mean(C,O):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:O?o.stdev(C,O,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V("notchspan");K=K!==s&&K>0?K:y(E,O),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[O-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),O=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[O-1],E.mean=o.mean(C,O),E.sd=o.stdev(C,O,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),O%2&&(lt||ut)?(lt?(ct=C.slice(0,O/2),ft=C.slice(O/2+1)):ut&&(ct=C.slice(0,O/2+1),ft=C.slice(O/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,O),E.uf=d(E,C,O),E.lo=v(E),E.uo=g(E);var ht=y(E,O);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=O(S+C),R=P(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,O=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(O-2,a))),s=a-o,x.length=O,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=O,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(O-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){"use strict";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},86411:function(t,e,r){"use strict";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},7924:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},54272:function(t,e,r){"use strict";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:"trace",name:"choropleth",basePlotModule:r(10816),categories:["geo","noOpacity","showLegend"],meta:{}}},88364:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","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:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){"use strict";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){"use strict";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r("contours.operation");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t("contours.value",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),v=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",v&&s(v)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,h)}},3212:function(t,e,r){"use strict";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},84952:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},82172:function(t,e,r){"use strict";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},46960:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){"use strict";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,O,P,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){"use strict";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},37960:function(t,e,r){"use strict";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},30572:function(t,e,r){"use strict";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){"use strict";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c("zorder")}},40448:function(t,e,r){"use strict";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:"trace",name:"contourcarpet",basePlotModule:r(57952),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},94440:function(t,e,r){"use strict";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),O="constraint"===L.type,P=L._operation,I=O?"="===P?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,P)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},97664:function(t,e,r){"use strict";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},96176:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){"use strict";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){"use strict";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){"use strict";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:"trace",name:"funnel",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},7076:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},11631:function(t,e,r){"use strict";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){"use strict";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},91248:function(t,e,r){"use strict";var n=r(7316);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){"use strict";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},92688:function(t,e,r){"use strict";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===v&&c("textposition","none");a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},62396:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(91248),categories:["pie-like","funnelarea","showLegend"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){"use strict";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},35384:function(t,e,r){"use strict";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},39472:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){"use strict";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},19512:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){"use strict";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},39096:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},35744:function(t,e,r){"use strict";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement("canvas");et.width=J,et.height=$;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(z,{noNumericCheck:!0,returnArray:!0});"fast"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if("smooth"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Ot=V?w:_;for(C=0;CZt||Zt>M._length))for(O=Gt;OJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},z,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=D.z[C][O];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=D.text&&D.text[C]&&D.text[C][O];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,z._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);D.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],O=[],P=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=O[r],W?et.ph0=et.ph1=O[r].length?A[O[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},80536:function(t,e,r){"use strict";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],f=["x","y"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],O="string"==typeof w.size,P="string"==typeof A.size,I=[],D=[],z=O?I:w,R=P?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":O?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},29044:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},4304:function(t,e,r){"use strict";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},25132:function(t,e,r){"use strict";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){"use strict";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},47192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){"use strict";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&T.push(", "+_[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+f.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}},48928:function(t,e,r){"use strict";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:"trace",name:"image",basePlotModule:r(57952),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},63715:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(D||z){var R=v+E/2,F=m+L/2;O+="transform:"+a(R+"px",F+"px")+"scale("+(D?-1:1)+","+(z?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",O);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,O,P=e[0].trace,I=n.select(this),D=P._hasGauge,z=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=P.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),O=[];v._hasNumber&&O.push("number"),v._hasDelta&&(O.push("delta"),"left"===v.delta.position&&O.reverse());var P=C.selectAll("text").data(O);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},O={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=I.selectAll("g.angular").data(z?e:[]);W.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function O(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*D},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(P(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=P(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(O).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll("g.threshold-arc").data(F);W.enter().append("g").classed("threshold-arc",!0).append("path"),W.select("path").call(O).call(T),W.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(O).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var X=I.selectAll("g.bullet").data(R?e:[]);X.exit().remove();var Z=I.selectAll("g.bulletaxis").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),O=f.selectAll("g.bg-bullet").data(C);O.enter().append("g").classed("bg-bullet",!0).append("rect"),O.select("rect").call(L).call(T),O.exit().remove();var P=f.selectAll("g.value-bullet").data([c.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?P.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var K=I.selectAll("text.title").data(e);K.exit().remove(),K.enter().append("text").classed("title",!0),K.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(f.font,P.title.font).call(p.convertToTspans,t),K.attr("transform",(function(){var t,e=B.l+B.w*b[P.title.align],r=h.titlePadding,n=f.bBox(K.node());return D?(z&&(t=P.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},62624:function(t,e,r){"use strict";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:P(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?tt(e,f,o,s,h,n[a]):"y"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?K(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?K(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&O(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){"use strict";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:"cmin",max:"cmax"},plot:r(31460).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(12536),categories:["gl3d","showLegend"],meta:{}}},52948:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},576:function(t,e,r){"use strict";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(57952),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){"use strict";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},97384:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o="array");var f=r("categoryorder",o);"array"===f?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==f||(e.categoryorder="trace")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:f}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v=c.font;n.coerceFont(h,"labelfont",v,{overrideDflt:{size:Math.round(v.size)}}),n.coerceFont(h,"tickfont",v,{autoShadowDflt:!0,overrideDflt:{size:Math.round(v.size/1.2)}})}},22020:function(t,e,r){"use strict";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(91800),categories:["noOpacity"],meta:{}}},51036:function(t,e,r){"use strict";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",O).on("drag",P).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function O(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){"use strict";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){"use strict";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({autoShadowDflt:!0,editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},71864:function(t,e,r){"use strict";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){"use strict";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(19976),categories:["gl","regl","noOpacity","noHover"],meta:{}}},19976:function(t,e,r){"use strict";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},95044:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y,{autoShadowDflt:!0}),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},95724:function(t,e,r){"use strict";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},29928:function(t,e,r){"use strict";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){"use strict";var n=["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"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,O=s.tickvals;function P(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(O)&&O.length){i.isTypedArray(O)&&(O=Array.from(O)),C=s.ticktext,a(C)&&C.length?C.length>O.length?C=C.slice(0,O.length):O.length>C.length&&(O=O.slice(0,C.length)):C=O.map(o(s.tickformat));for(var D=1;D=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,v);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){D(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),D(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,D(V,e,w),n.select(this).attr("transform",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,v);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,v);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,v);G.enter().append("g").classed(x.cn.axisHeading,!0);var W=G.selectAll("."+x.cn.axisTitle).data(g,v);W.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=q.selectAll("."+x.cn.axisExtent).data(g,v);Y.enter().append("g").classed(x.cn.axisExtent,!0);var X=Y.selectAll("."+x.cn.axisExtentTop).data(g,v);X.enter().append("g").classed(x.cn.axisExtentTop,!0),X.attr("transform",c(0,-x.axisExtentOffset));var Z=X.selectAll("."+x.cn.axisExtentTopText).data(g,v);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(P),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll("."+x.cn.axisExtentBottom).data(g,v);K.enter().append("g").classed(x.cn.axisExtentBottom,!0),K.attr("transform",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll("."+x.cn.axisExtentBottomText).data(g,v);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){"use strict";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){"use strict";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},80036:function(t,e,r){"use strict";var n=r(7316);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},53644:function(t,e,r){"use strict";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){"use strict";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){"use strict";var n=r(3400);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,c=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,f=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,h=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u,textcase:c,lineposition:f,shadow:h}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=O(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function O(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+O(i.px0,i.pxmid,!0,1)+O(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+O(i.px0,i.pxmid,!1,k)+O(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=O(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+O(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function O(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),O=(.5*S-v.r)/h.w,P=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-O,xr:M.x[1]+O,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){"use strict";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},35484:function(t,e,r){"use strict";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},11072:function(t,e,r){"use strict";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){"use strict";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},156:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:"trace",name:"pointcloud",basePlotModule:r(39952),categories:["gl","gl2d","showLegend"],meta:{}}},41440:function(t,e,r){"use strict";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},10760:function(t,e,r){"use strict";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var O="";a.label&&a.label[e]&&(O=a.label[e]);var P=null;O&&d.hasOwnProperty(O)&&(P=d[O]),u.push({pointNumber:e,label:O,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:P,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,D=o(r.color),z=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:D?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},47140:function(t,e,r){"use strict";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate"),y("align");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_("hovercolor",Array.isArray(k)?k.map(A):A(k)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",h.font,{autoShadowDflt:!0}),e._length=null}},45499:function(t,e,r){"use strict";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:"trace",name:"sankey",basePlotModule:r(10760),selectPoints:r(81128),categories:["noOpacity"],meta:{}}},59596:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){"use strict";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function O(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat"),m("zorder");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){"use strict";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(57952),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},55308:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},59748:function(t,e,r){"use strict";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},66828:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},52340:function(t,e,r){"use strict";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,O="log"===L.type,P="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(O&&(i=L.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},74428:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},31147:function(t,e,r){"use strict";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},96504:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var O,P,I=w.fill.charAt(w.fill.length-1);"x"!==I&&"y"!==I&&(I=""),"y"===I?(O=1,P=_.c2p(0,!0)):"x"===I&&(O=0,P=b.c2p(0,!0)),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var D,z,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},91560:function(t,e,r){"use strict";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},3296:function(t,e,r){"use strict";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(41484),moduleType:"trace",name:"scatter3d",basePlotModule:r(12536),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},90372:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:u({},i.mode,{dflt:"markers"}),text:u({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},l("marker.line")),gradient:c.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){"use strict";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){"use strict";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:"trace",name:"scattercarpet",basePlotModule:r(57952),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},20036:function(t,e,r){"use strict";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){"use strict";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:"trace",name:"scattergeo",basePlotModule:r(10816),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48691:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v="geojson-id"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),O=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(P=I.marker.sizeAvg||Math.max(I.marker.size,3)):P=u(e,b),c(t,e,l,m,E,L,P),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){"use strict";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,_=e.texttemplate;if(_){y.text=[];var w=i._d3locale,T=Array.isArray(_),k=T?Math.min(_.length,a):a,A=T?function(t){return _[t]}:function(){return _};for(r=0;r500?"bold":"normal":t}function _(t,e){var r,n,i=e._length,o=e.marker,s={},u=l(o.symbol),c=l(o.angle),h=l(o.color),v=l(o.line.color),g=l(o.opacity),y=l(o.size),m=l(o.line.width);if(u||(n=d.isOpenSymbol(o.symbol)),u||h||v||g||c){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,b=o.angle,_=f(o,o.opacity,i),w=f(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,O=!!y.yperiodalignment;for(c=0;c=Math.min(P,I)&&w<=Math.max(P,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,O=L.t,P=O.index,I=C._length,D=O.x,z=O.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[P]=s.selIndices2selPoints(C),F={};for(g=0;g850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),f(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,f=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=c.hasLines(a),k=c.hasMarkers(a),A=c.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,L=g("fill"),C=g("line"),O=g("circle"),P=g("symbol"),I={fill:L,line:C,circle:O,symbol:P};if(!f)return I;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(L.geojson=o.makePolygon(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"fill-color":a.fillcolor})),T&&(C.geojson=o.makeLine(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var D=function(t){var e,r,a,o,c=t[0].trace,f=c.marker,h=c.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),v=i.isArrayOrTypedArray(f.opacity);function g(t){return c.opacity*t}p&&(r=s.hasColorscale(c,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity),d&&(a=u(c)),v&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,m,b=[];for(e=0;e")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){"use strict";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(33688),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},9660:function(t,e,r){"use strict";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(40872),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(47788),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},34864:function(t,e,r){"use strict";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:"trace",name:"scatterternary",basePlotModule:r(19352),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},88776:function(t,e,r){"use strict";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,O=!0;if(o(x)||p.selectedpoints||C){var P=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var P=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:O,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},78176:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},28732:function(t,e,r){"use strict";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},96488:function(t,e,r){"use strict";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,O=L.w*(C.x[1]-C.x[0]),P=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(O,P),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-P/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr("d",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){"use strict";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},56576:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},79164:function(t,e,r){"use strict";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},55992:function(t,e,r){"use strict";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[""],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[""]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),O={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return O.columns.forEach((function(t){t.calcdata=O,t.x=h(t)})),O}},53056:function(t,e,r){"use strict";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){"use strict";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":k(t.calcdata.cells.prefix,e,r)||"",d=c?"":k(t.calcdata.cells.suffix,e,r)||"",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(O(t,r,e,u,n.prevPages,n,0),O(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function O(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(z),L(null,t.filter(M),0),b(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(D(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function D(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function z(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},79516:function(t,e,r){"use strict";var n=r(7316);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){"use strict";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc("treemap",t)}},32984:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},34092:function(t,e,r){"use strict";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){"use strict";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},27336:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],O=C.trace,P=C.hierarchy,I=g/O._entryDepth,D=c.listPath(r.data,"id"),z=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,O,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(O,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},76477:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,O=-1!==C.textposition.indexOf("left"),P=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");z.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":O||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},83024:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(P+I):0,z={x0:O,x1:O,y0:D,y1:D+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+","+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+K(l.x,l.y)+"L"+K(u.x,u.y)+"L"+K(s.x,s.y)+"L"+K(c.x,c.y)+"L"+K(f.x,f.y)+"L"+K(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),O=s.getPositionOnKdePath(S,d,L),P=w._offset,I=w._length;E[b+"0"]=O[0],E[b+"1"]=O[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},95952:function(t,e,r){"use strict";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:"trace",name:"waterfall",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},91352:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},59464:function(t,e,r){"use strict";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>f};case">=":return function(t){return p(t)>=f};case"[]":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case"()":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case"][":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case")(":return function(t){var e=p(t);return ef[1]};case"](":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case")[":return function(t){var e=p(t);return e=f[1]};case"{}":return function(t){return-1!==f.indexOf(p(t))};case"}{":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):m(t):"Buffer"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return D(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function D(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){Z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,O=0|o[7],P=8191&O,I=O>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,H)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(z,K)|0,i=(i=i+Math.imul(z,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Ot=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Ot,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var D=(P-=1)*b,z=w[D],R=w[D+1],F=w[D+2],B=w[D+3],N=w[D+4],j=w[D+5],U=P*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,z,R,F,W,Y,q))||4&j&&(R=y(t,z,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)"),v=c("lo===p0"),g=c("lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,O=2*b,P=2*w,I=2*p,D=2*v,z=2*d,R=0;R<2;++R){var F=f[C+R],B=f[O+R],N=f[P+R];f[I+R]=F,f[D+R]=B,f[z+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var O=0;O>>1;a(d,E);var L=0,C=0,O=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),P<0){for(var D=-(P>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,O--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=ArrayBuffer,c=DataView;function f(t){return Array.isArray(t)||function(t){return u.isView(t)&&!(t instanceof c)}(t)}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.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=a(t)}var d=p.prototype;function v(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?f(a)&&f(a[0]):f(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(f(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,h=!1;if("bounds"in t)for(var p=t.bounds,d=0;d<2;++d)for(var v=0;v<3;++v)p[d][v]!==this.bounds[d][v]&&(h=!0),this.bounds[d][v]=p[d][v];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,c=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d<3;++d)r[d].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),l("tickFontStyle")&&(c=!0),l("tickFontWeight")&&(c=!0),l("tickFontVariant")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor");var y=[{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]}],m=[{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&&(g||c)&&this._text.update(this.bounds,this.labels,y,this.ticks,m):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,m),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new v,new v,new v];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var m=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var b=[0,0,0],_=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),c=u.cubeEdges,f=u.axis,p=n[12],d=n[13],v=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*v+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=c[A],this.lastCubeProps.axis[A]=f[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,c,f);e=this.gl;var S,E,L,C=m;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=f[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var O=[0,0,0];f[A]>0?O[A]=a[1][A]:O[A]=a[0][A];for(var P=0;P<2;++P){var I=(A+1+P)%3,D=(A+1+(1^P))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,O,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(P=0;P<2;++P)I=(A+1+P)%3,D=(A+1+(1^P))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,O,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=h(b,M[A].primalMinor),R=h(_,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];z[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=h(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m="raw"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],O=[],P=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),P=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),P=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return h.isView(t)&&!(t instanceof p)}(t)}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return v(n,n),v(n,n),v(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function m(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new x(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var b=x.prototype;b.pickSlots=1,b.setPickBase=function(t){this.pickId=t},b.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},b.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var _=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=f.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function L(t){return t[0]=t[1]=t[2]=0,t}function C(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function O(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function I(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],_[0]=2/o.drawingBufferWidth,_[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=_,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(a[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var y=M,m=0;m<16;++m)y[m]=0;for(m=0;m<4;++m)y[5*m]=1;y[5*v]=0,i[v]<0?y[12+v]=p[0][v]:y[12+v]=p[1][v],s(y,u,y),l.model=y;var x=(v+1)%3,b=(v+2)%3,P=L(w),I=L(T);P[x]=1,I[b]=1;var D=g(0,0,0,C(k,P)),z=g(0,0,0,C(A,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=P,P=I,I=R;var F=x;x=b,b=F}D[0]<0&&(P[x]=-1),z[1]>0&&(I[b]=-1);var B=0,N=0;for(m=0;m<4;++m)B+=Math.pow(u[4*x+m],2),N+=Math.pow(u[4*b+m],2);P[x]/=Math.sqrt(B),I[b]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=I,l.fragClipBounds[0]=O(S,d[0],v,-1e8),l.fragClipBounds[1]=O(S,d[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,_[0]=2/l.drawingBufferWidth,_[1]=2/l.drawingBufferHeight,u.screenSize=_,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=P,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function D(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},b.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},b.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=b,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:Y<0?1+S[1][0]:1,X*=X>0?1-S[0][1]:X<0?1+S[1][1]:1],K=A.cells||[],J=A.positions||[];for(k=0;k0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],O=(l-M)/(S-M),P=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(O)||(O=.5),isFinite(P)||(P=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,D,B,O),n.lerp(q,z,N,O),n.lerp(H,R,j,O),n.lerp(G,F,U,O);var W=n.create(),Y=n.create();n.lerp(W,V,H,P),n.lerp(Y,q,G,P);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:O,velocities:P,divergences:z});for(var B=0;B<100*u&&O.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(O.push(N),D=N,P.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n 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"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],O={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=O.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=O.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return O.showSurface=o,O.showContour=s,O}var I={model:T,view:T,projection:T,inverseModel:T.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},D=T.slice(),z=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=P(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var v=0,g=0,y=d(p,f.stride.slice());if("float32"===h?v=t.FLOAT:"float64"===h?(v=t.FLOAT,y=!1,h="float32"):"uint8"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),O+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"."===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?m:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],O=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=O,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),O=0,P=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[O++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++),O+=1,g+=T,A=2;A0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,b,w,B,U,o,s,l)),O+=1,g+=T,A=2;A0){if(A=1,L[O++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++),O+=1,g+=T,M=2;M0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,w,m,U,B,o,s,l)),O+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,O=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,O=S*w+E*_+A*b-M*x,P=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,P=P*(w=Math.cos(e))-(L=L*w+P*x+C*_-O*b)*x-(C=C*w+P*b+O*x-L*_)*b-(O=O*w+P*_+L*b-C*x)*_}var D=u(L,C,O,P);D>1e-6?(L/=D,C/=D,O/=D,P/=D):(L=C=O=0,P=1),this.rotation.set(t,L,C,O,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(z(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||"normal",s=n.fontWeight||"normal",l=n.fontVariant||"normal",u=[a,s,l,e].join("_"),c=o[u];c||(c=o[u]={" ":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],O=E[5],P=E[9],I=E[2],D=E[6],z=E[10],R=O*z-P*D,F=P*I-C*z,B=C*D-O*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],O=E*x+L*b+C*_,P=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(P,O)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],O=L[L.length-2];C%=2*Math.PI;var P=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,v-p),n=n.replace("?px ",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!m&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){"use strict";function n(t,e){for(var r=0;rf)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||et(t.length)?h(0):y(t):"Buffer"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t))}function v(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(t).length;default:if(i)return n?-1:J(t).length;e=(""+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return z(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new H.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,"number",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(s(e))}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return"undefined"==typeof BigInt?it:t}function it(){throw new Error("BigInt not supported")}},25928:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},48932:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,P=32,D=2,z=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,P,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,D,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C="function"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(z=t,F):z},F.update=function(t){return O(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:"3.8.2"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new D;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return K=function(t,e){return r.call(t,e)},K(t,e)};"function"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return"function"==typeof t?t:function(){return X(t,this)}}function Q(t){return"function"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function O(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function P(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*zt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Dt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(z),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Oe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function Dr(t){return Math.pow(2,10*(t-1))}function zr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||z,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=zn(s),a=Dn(a),s&&a;)l=Dn(l),(o=zn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!zn(o)&&(o.t=s,o.m+=f-c),a&&!Dn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^O){var P=(c+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Oi,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(zi,a)+","+Pi(zi,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uCt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*Dt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",P):S.on("mousemove.brush",C).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return L}function O(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var P,I,D,z,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement("a")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia("(prefers-reduced-motion: reduce)")),I.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&z&&(q?H(t):D=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,z),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((z=s.document.createElement("img")).onload=function(){D&&H(D),D=null,q=!0},z.onerror=function(){V=!0,D=null},z.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),$(t)};var X=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Z(t){return X.test(t)}var K=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function $(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct="mapbox-tiles",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),mt}var _t={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&Z(r);"json"===t.type&&i.headers.set("Accept","application/json");var u=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Lt,Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Lt=0;var Ot=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},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"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if("string"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},he.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ve(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in be)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Wt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Yt))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe("",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Xt,"to-color":Zt,"to-number":Wt,"to-string":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function De(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function ze(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Oe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ve(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new _e(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof me)&&"resolvedImage"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Zt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new wr(u,r,n,i,l):e.error("Type "+re(u)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Or(r.type,r,n,i):null}return new Or(r.type,r,n)},Or.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Or.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Or.prototype.outputDefined=function(){return!1},Or.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var zr=Dr("==",(function(t,e,r){return e===r}),Ir),Rr=Dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=Dr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Wt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":zr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,"number-format":Ur,object:_e,slice:Or,step:tr,string:_e,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:"success",value:t}}function Zr(t){return{result:"error",value:t}}function Kr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!_r[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=sn;else if("interval"===u)r=on;else if("categorical"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ue.parse(r):"formatted"===e.type?r=he.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],"geometry-type":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],"heatmap-density":[Wt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt("","data expressions not supported")]);var i=Ze(r,["zoom"]);if(!i&&!Jr(e))return Zr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Zr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return Kr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Ln(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(Pn)):"in"===r?Cn(t[1],t.slice(2)):"!in"===r?Pn(Cn(t[1],t.slice(2))):"has"===r?On(t[1]):"!has"===r?Pn(On(t[1])):"within"!==r||t}function Ln(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function On(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Pn(t){return["!",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Dn(t)}function Dn(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function fi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function mi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new Dt("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Oi=function(){return Mi},Pi=function(){if(Mi!==_i||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},Di=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};Di.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var zi=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ue.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};zi.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},zi.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new zi(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new zi(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Di(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Di(Math.floor(e.zoom),e)),t.expression.evaluate(new Di(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new zi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Wi),oi("ColorRampProperty",Yi);var Zi="-transition",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate($n,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},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(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi("GlyphOffsetArray",Ca);var Oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Oa);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Pa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(ba);oi("FeatureIndexArray",Ia);var Da=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,za=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}za.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>za.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+za.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>za.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},za.prototype.get=function(){return this.segments},za.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new za,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Oo(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Do(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",bo,{omit:["layers"]});var zo=new Xi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Xi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:zo},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Po("circle-radius",this,e)+Po("circle-stroke-width",this,e)+Io(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Do(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Os(t.i,t.x,t.y),n=new Os(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Os(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Os(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ds(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(zs(t,r,e),i(t[n],c)>0&&zs(t,r,n);f0;)h--}0===i(t[r],c)?zs(t,r,h):zs(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function zs(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.segments2=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),O=k?C:0,P=k?0:C;if(p&&this.addCurrentVertex(c,v,O,P,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",vl,{omit:["layers","patternFeatures"]});var gl=new Xi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Xi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Wi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Yi(Ft.paint_line["line-gradient"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Di(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Po("line-width",this,e),Po("line-gap-width",this,e)),n=Po("line-offset",this,e);return r/2+Math.abs(n)+Io(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Do(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*_l(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{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"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{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"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Ol=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Pl=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var Dl=4294967296,zl=1/Dl,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Ol(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Ol(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)P=j.rect,O=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;O=V.metrics}C=(_-S.scale)*Ll}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=O.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Ou(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function zu(t,e,r,n,i,a,o,s,l){var u=Pu(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),O=new a(m,d),P=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),O._matMult(N),I._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:O,bl:I,br:P,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),O=0;O0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Ku;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Ku}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-Ku;break;case"bottom-right":case"bottom-left":n=-i+Ku;break;case"bottom":n=-e+Ku;break;case"top":n=e-Ku}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'):"composite"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Di(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),dc={paint:new Xi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi("FormatSectionOverride",vc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pc.prototype.setNorthEast=function(t){return this._ne=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.setSouthWest=function(t){return this._sw=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Dc)e=t,r=t;else{if(!(t instanceof Pc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pc.convert(a))}var o=t;return this.extend(Dc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Dc(e.lng,e.lat),this._ne=new Dc(r.lng,r.lat)),this},Pc.prototype.getCenter=function(){return new Dc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pc.prototype.getSouthWest=function(){return this._sw},Pc.prototype.getNorthEast=function(){return this._ne},Pc.prototype.getNorthWest=function(){return new Dc(this.getWest(),this.getNorth())},Pc.prototype.getSouthEast=function(){return new Dc(this.getEast(),this.getSouth())},Pc.prototype.getWest=function(){return this._sw.lng},Pc.prototype.getSouth=function(){return this._sw.lat},Pc.prototype.getEast=function(){return this._ne.lng},Pc.prototype.getNorth=function(){return this._ne.lat},Pc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pc.prototype.contains=function(t){var e=Dc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pc.convert=function(t){return!t||t instanceof Pc?t:new Pc(t)};var Ic=6371008.8,Dc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Dc.prototype.wrap=function(){return new Dc(h(this.lng,-180,180),this.lat)},Dc.prototype.toArray=function(){return[this.lng,this.lat]},Dc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Dc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},Dc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pc(new Dc(this.lng-r,this.lat-e),new Dc(this.lng+r,this.lat+e))},Dc.convert=function(t){if(t instanceof Dc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Dc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Dc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var zc=2*Math.PI*Ic;function Rc(t){return zc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Dc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new Dc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Oc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Oc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new Di(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new Di(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send("enforceCacheSizeLimit",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Di(h),o),u["text-size"].possiblyEvaluate(new Di(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Di(v),o),u["icon-size"].possiblyEvaluate(new Di(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Di(18));for(var y=l.get("text-line-height")*Ll,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,O=t.addToLineVertexArray(e,r),P=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),P=4*W.length;var X=t.iconSizeData,Z=null;"source"===X.kind?(Z=[Au*s.layout.get("icon-size").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'):"composite"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,O.lineStartIndex,O.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,O.lineStartIndex,O.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get("text-rotate").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(D+=rc(t,e,J,a,s,d,b,v,O,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(z+=rc(t,e,n.vertical,a,s,d,b,v,O,lu.vertical,["vertical"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,P,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if("line"===E)for(var P=0,I=Fu(e.geometry,0,0,po,po);P1){var U=Du(j,A,r.vertical||v,n,g,x);U&&O(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var O=Object.keys(g.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}O.length?a.send("getImages",{icons:O,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function O(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:W(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),P=se(e.writingMode,S,O,d);if(P)return P}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;O--)C.push(E.path[O]);for(var P=1;P0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},O=null,P=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),X=e.collisionCircleDiameter;O=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||O.circles.length>0&&!O.collisionDetected,S=S&&O.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(P=Z(a.verticalIconBox)).box.length>0:(P=Z(a.iconBox)).box.length>0,S=S&&P.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),O&&(T&&i.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var O=C?L:ze;d(e.icon,a.numIconVertices,O),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=C?ze:L;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Oe=Math.pow(2,9),Pe=Math.pow(2,8),Ie=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Oe+e*Pe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform 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\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;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\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;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);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Or=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Dr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},zr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},jr=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get("raster-hue-rotate"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Dr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,O=0;O0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.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()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var On=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={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}};On.prototype.clone=function(){var t=new On(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},On.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},On.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},On.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},On.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},On.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},On.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},On.prototype.zoomScale=function(t){return Math.pow(2,t)},On.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},On.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},On.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},On.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},On.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},On.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},On.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},On.prototype.coordinateLocation=function(t){return t.toLngLat()},On.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},On.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},On.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},On.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},On.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},On.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},On.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},On.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},On.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},On.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},On.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},On.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var Dn={linearity:.3,easing:t.bezier(0,0,.3,1)},zn=t.extend({deceleration:2500,maxSpeed:1400},Dn),Rn=t.extend({deceleration:20,maxSpeed:1400},Dn),Fn=t.extend({deceleration:1e3,maxSpeed:360},Dn),Bn=t.extend({deceleration:1e3,maxSpeed:90},Dn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var O=E(0),P=function(t){return C(O)/C(O+_*t)},I=function(t){return w*((C(O)*(L(e=O+_*t)/C(e))-L(O))/S)/k;var e},D=(E(1)-O)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/P(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.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"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Li=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return"bottom-left"},Li.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>zi)throw new Error("maxPitch must be less than or equal to 60");var i=new On(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Oi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ii))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()zi)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.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),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.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(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Xi--,Zi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}$i.prototype.getDefaultPosition=function(){return"bottom-left"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._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 t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+c.x+"px,"+c.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},3108:function(t,e,r){"use strict";t.exports=r(26099)},26099:function(t,e,r){"use strict";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&O.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,v||b||_||k),e(r,n+E,E,P,v,b||_||k),e(r+E,n,E,P,b,_||k),e(r+E,n+E,E,P,_,k)}}(0,0,1,0,0,1),O},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},3256:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},84880:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},43752:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g="",y="",m="",x="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==h(t)||null===t)throw new d("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g="",y="",x="",m=""):(g="",y="",x="",m="")),"object"===h(u)&&null!==u&&"object"===h(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=_(u),c=_(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,f(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=w(t),c=u.split("\n"),f=w(e).split("\n"),p=0,d="";if("strictEqual"===r&&"object"===h(t)&&"object"===h(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!("object"===h(t)&&null!==t||"object"===h(e)&&null!==e||0===t&&0===e))return"".concat(b[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",p),"^"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s="\n ".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(g,"...").concat(x);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}p>3&&(s="\n".concat(g,"...").concat(x).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=b[r]+"\n".concat(y,"+ actual").concat(x," ").concat(m,"- expected").concat(x),L=" ".concat(g,"...").concat(x," Lines skipped");for(p=0;p1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(f[p-2]),S++),a+="\n ".concat(f[p-1]),S++),o=p,i+="\n".concat(m,"-").concat(x," ").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(c[p]),S++;else{var O=f[p],P=c[p],I=P!==O&&(!v(P,",")||P.slice(0,-1)!==O);I&&v(O,",")&&O.slice(0,-1)===P&&(I=!1,P+=","),I?(C>1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(P),i+="\n".concat(m,"-").concat(x," ").concat(O),S+=2):(a+=i,i="",1!==C&&0!==p||(a+="\n ".concat(P),S++))}if(S>20&&p30)for(k[26]="".concat(g,"...").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,"".concat(T," ").concat(k[0]))):o(this,f(e).call(this,"".concat(T,"\n\n").concat(k.join("\n"),"\n")))}else{var A=w(u),M="",S=b[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(b[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(w(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,f(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},25116:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function O(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function P(t){return Object.keys(t).filter(O).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},64928:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){"use strict";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){"use strict";var n=r(8844),i=r(53664),a=r(14500),o=i("%TypeError%"),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(l,s),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){"use strict";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){"use strict";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){"use strict";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){"use strict";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],u="rgb"===l;r=s=l.replace(/a$/,"");var c="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){"use strict";var n=r(19336);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},36116:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},42771:function(t,e,r){"use strict";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){"use strict";var n=r(30584);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},46416:function(t,e,r){"use strict";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){"use strict";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),D=0}}function q(){var t=R.now(),e=t-I;e>P&&(z-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-D>24?(t<1/0&&(C=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(q,P)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},87108:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Pt},geoCraigRaw:function(){return Ot},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return zr},geoLoximuthalRaw:function(){return Dr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Pi},geoTimes:function(){return Di},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=O(2),A=O(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function O(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=O(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.U)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=O(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*O(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=O((r-O(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+O(t*t-1))}(i(e/n))/3:function(t){return c(t+O(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(P(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=O(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=O(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=O(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/O(b*(b-2*c)+n*n)));i=l+2*a((f+u*O(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=O(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=O(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(O(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=O(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Ot(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(O(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Pt(){return ft(Ot).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*O(b/r)/2:0,L(1-r)]};var It=O(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.c)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=O(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=O(4-3*g(i(e)));return[2/O(6*b)*t*r,v(e)*O(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=O(b*(4+b));return[2/r*t*(1+O(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/O(b*(4+b))*t*(1+s(e)),2*O(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/O(2+b),2*e/O(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=O(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=O(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/O(2*b/3);return[t*O(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=O(b*(4+b))/2;return[t*r/(1+O(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*O((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/O(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=O(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=O(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=O(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=O(2/(1+l*l)),f=O((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=O(b),A=y/(x+k*v*w),M=A*A,S=O(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=O(E),C=L-1/L,P=L+1/L,I=S*C-2*c(L)-t,D=S*A*P-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*P*B-2*z/(1+M)+S*P*z+S*A*(V-V/E),Y=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(D*G-I*Y)/X,K=(I*W-D*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=O(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=O(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/O(u)),p=f+o*u*h,d=(1-a)/p,v=O(d),y=d*u,x=O(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),P=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*O(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(P+E*O(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=O(y-F),N=P+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*O(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Oe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*P(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[O(e),0,0,0,0,0,0,0,0],d=0;for(n=O(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=O(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=O(1-e),o=O(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=O(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=O(1-r*r),u=Pe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/O(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+O(u*u-(r-1)*l*4))/2;return[Pe(a(1/O(c)),r)*v(t),Pe(a(O((c/l-1)/r)),1-r)*v(e)]}return[0,Pe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=O(a),c=L(1/O(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=O(h),d=h*(1+l),v=p*(1-l),g=O(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/O(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=O(1-h*h),d=(n=-t,i=p*p,(r=.5*Pe(_,p*p)-e)?(s=Oe(r,i),n?(f=(u=Oe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Oe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=O(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=O(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*O(b/(e=b+4*n*r)),l=.5*a*(r+O(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*O(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/O(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=O(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=O(n*g(r)*O((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return O(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=O(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-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 hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-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 dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-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 gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-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 mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-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 br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-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 wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*O(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/O(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+O(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.c)(Cr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Pr).scale(144.049).clipAngle(89.999)}function Dr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=O(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*O((i-O(i*i-4*r))/r):1/O(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=O(6),Jr=O(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-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 fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+O(d*d+n*n/h)*a),_*(y+O(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+O((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=On(h)/On(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=O(n),a=(t-O(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*O(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return zi(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*O(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(O(c+(l=t+e)*l)),h=s(O(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(O(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return zi(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(O(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*O(3),ta=2*O(2*b*O(3)/Qi),ea=it(ta*O(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*O(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=O(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/O(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=O(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=O(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*O(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){"use strict";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){"use strict";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){"use strict";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){"use strict";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=O}function C(){P(d,v),w.point=T}function O(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=P;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function P(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var O=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(O,g),[T,(0,n.G)(O)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){"use strict";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){"use strict";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Ot,Pt,It=(0,v.c)(),Dt={point:y.c,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Ot=t,Ct=Pt=e}function Rt(t,e){Ot-=t,Pt-=e,It.add((0,g._I)(Ot*Ot+Pt*Pt)),Ot=t,Pt=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){"use strict";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){"use strict";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){"use strict";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,O=x*A;if(o.add((0,a.WE)(O*E*(0,a.g$)(L),b*M+O*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var P=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(P);var I=(0,i.CW)(u,P);(0,i.cJ)(I);var D=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>D||n===D&&(P[0]||P[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*O+b*P)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,O*l.oh]},j.angle=function(t){return arguments.length?(P=t%360*l.qw,V()):P*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){"use strict";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){"use strict";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){"use strict";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){"use strict";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){"use strict";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Ot=T(v),Pt={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Ot[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:O,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=zt(r,Pt),Pt.X=zt(s,Pt),Pt.c=zt(e,Pt),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function O(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+"000"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){"use strict";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){"use strict";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return P},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return D.c},utcYears:function(){return D.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),O=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=O,I=O.range,D=r(53528)},81628:function(t,e,r){"use strict";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){"use strict";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){"use strict";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){"use strict";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){"use strict";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){"use strict";var n=r(39640)(),i=r(53664),a=n&&i("%Object.defineProperty%",!0);if(a)try{a({},"a",{value:1})}catch(t){a=!1}var o=i("%SyntaxError%"),s=i("%TypeError%"),l=r(2304);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},81288:function(t,e,r){"use strict";var n=r(41820),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){"use strict";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){"use strict";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){"use strict";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){"use strict";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},81892:function(t,e,r){"use strict";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){"use strict";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},76024:function(t,e,r){"use strict";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){"use strict";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){"use strict";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){"use strict";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},80940:function(t,e,r){"use strict";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},52891:function(t,e,r){"use strict";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},60964:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){"use strict";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){"use strict";var n=r(94576);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},46492:function(t,e,r){"use strict";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=A(t,0,1),r=A(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],O=Math.sqrt(E*E+L*L+C*C);return Math.abs(O)<1e-6?null:(E*=O=1/O,L*=O,C*=O,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){"use strict";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){"use strict";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){"use strict";var n=r(46672)(),i=r(99676)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},85992:function(t){"use strict";t.exports=function(t){return t!=t}},1560:function(t,e,r){"use strict";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){"use strict";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},59736:function(t,e,r){"use strict";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},58908:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){"use strict";var n=r(46492),i=r(63436),a=r(99676),o=a("Object.prototype.toString"),s=r(46672)(),l=r(2304),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,O=4/3*s*L,P=[2*t-(t+C*Math.sin(T)),2*n-(n-O*Math.cos(T)),f+C*Math.sin(k),h-O*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},32868:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){"use strict";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},28648:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},5588:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},41924:function(t,e,r){"use strict";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},87968:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},90328:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},16024:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){"use strict";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){"use strict";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.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},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=z}));(P=P.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*P[t]).concat(z?k.slice(2*z):[]),r=(y.hole||[]).map((function(e){return e-z+(P[t]-D)})),n=l(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\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.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;O.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(O.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=P(p=r[f-2],17)^P(p,19)^p>>>10,r[f-7]),v=P(v=r[f-15],7)^P(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=P(h=o,6)^P(h,11)^P(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=P(u=d,2)^P(u,13)^P(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){O(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId="a1",O(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}O(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return q(W,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Ot={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){P.tick+=1,P.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&o){var c=o(t,"length");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},92784:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.i=e},15316:function(t,e,r){"use strict";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(O,t))}function O(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,O(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){"use strict";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},47264:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){"use strict";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){"use strict";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.o=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},39956:function(t,e,r){"use strict";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var O=0;Oe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){"use strict";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(O[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},O=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},7328:function(t,e,r){"use strict";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){"use strict";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},85488:function(t,e,r){"use strict";var n=r(73384),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){"use strict";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){"use strict";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},18496:function(t,e,r){"use strict";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},81680:function(t){"use strict";t.exports=function(t){return null!=t}},14144:function(t,e,r){"use strict";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},45223:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),L(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(75272);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?O(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?O(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?"0":"")+t.toString(16)}function O(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function P(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function D(t){return(t=(t||0)%360)<0?t+360:t}function z(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?P(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(D(this.h),z(this.s),z(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(D(this.h),", ").concat(100*z(this.s),"%, ").concat(100*z(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a Date: Wed, 5 Jun 2024 14:10:53 -0400 Subject: [PATCH 22/43] update test --- .../tests/test_core/test_graph_objs/test_frames.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_frames.py b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_frames.py index cab039ea69..6126c4775e 100644 --- a/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_frames.py +++ b/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_frames.py @@ -52,7 +52,18 @@ def test_deeply_nested_layout_attributes(self): # It's OK if this needs to change, but we should check *something*. self.assertEqual( - set(matches), {"color", "family", "size", "weight", "variant", "style"} + set(matches), + { + "color", + "family", + "size", + "weight", + "variant", + "style", + "textcase", + "lineposition", + "shadow", + }, ) def test_deeply_nested_data_attributes(self): From aab5efefd63436968bac4883b81fd72d4ae004ce Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 6 Jun 2024 16:00:28 -0400 Subject: [PATCH 23/43] add numeric font weight example --- doc/python/text-and-annotations.md | 55 ++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index 7f721651eb..3d8f5083f8 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.16.1 + jupytext_version: 1.16.2 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.10.11 + version: 3.10.0 plotly: description: How to add text labels and annotations to plots in python. display_as: file_settings @@ -395,6 +395,57 @@ fig.show() ``` +## Numeric Font Weight + +*New in 5.23* + +In the previous example, we set a `font-weight` using a keyword value. You can also set `font-weight` using a numeric value. + +The font weights available depend on the `font-family` that is set. The `font-weight` +If you set a `font-weight` that isn't available for a particular `font-family`, the weight will be rounded to the nearest available value. + +In the following example, + + +```python +import plotly.graph_objects as go +from plotly import data + +df = data.medals_wide() + +fig = go.Figure( + data=[ + go.Bar( + x=df.nation, + y=df.gold, + name="Gold", + marker=dict(color="Gold"), + text="Gold", + textfont=dict(weight=400, size=17), + ), + go.Bar( + x=df.nation, + y=df.silver, + name="Silver", + marker=dict(color="MediumTurquoise"), + text="Silver", + textfont=dict(weight=600, size=17), + ), + go.Bar( + x=df.nation, + y=df.bronze, + name="Bronze", + marker=dict(color="LightGreen"), + text="Bronze", + textfont=dict(weight=1000, size=17), + ), + ], + layout=dict(barcornerradius=15, showlegend=False), +) + +fig.show() +``` + ### Styling and Coloring Annotations ```python From 97c85b5372f2680a602bd32f381ffe84c18f5aa7 Mon Sep 17 00:00:00 2001 From: Greg Wilson Date: Fri, 7 Jun 2024 13:40:11 -0400 Subject: [PATCH 24/43] Update README.md with "maintained by Plotly" badge --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index d12f427e06..f243e8495e 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,13 @@ + + + ## Quickstart `pip install plotly==5.22.0` From b330b0eeb83f447a666ced488c0d28be8c62a7fe Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 11 Jun 2024 13:25:15 -0400 Subject: [PATCH 25/43] add font weights example --- doc/python/text-and-annotations.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index 3d8f5083f8..eb237513d4 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -404,8 +404,6 @@ In the previous example, we set a `font-weight` using a keyword value. You can a The font weights available depend on the `font-family` that is set. The `font-weight` If you set a `font-weight` that isn't available for a particular `font-family`, the weight will be rounded to the nearest available value. -In the following example, - ```python import plotly.graph_objects as go @@ -421,7 +419,7 @@ fig = go.Figure( name="Gold", marker=dict(color="Gold"), text="Gold", - textfont=dict(weight=400, size=17), + textfont=dict(weight=900, size=17), ), go.Bar( x=df.nation, @@ -429,7 +427,7 @@ fig = go.Figure( name="Silver", marker=dict(color="MediumTurquoise"), text="Silver", - textfont=dict(weight=600, size=17), + textfont=dict(size=17), ), go.Bar( x=df.nation, @@ -437,7 +435,7 @@ fig = go.Figure( name="Bronze", marker=dict(color="LightGreen"), text="Bronze", - textfont=dict(weight=1000, size=17), + textfont=dict(size=17), ), ], layout=dict(barcornerradius=15, showlegend=False), @@ -446,6 +444,9 @@ fig = go.Figure( fig.show() ``` +[scattergl](https://plotly.com/python/reference/scattergl) traces do not support all numeric font weights. Font weights up to 500 are mapped to the keyword font weight "normal", while weights above 500 are mapped to "bold". + + ### Styling and Coloring Annotations ```python From 6c8ef6d6b14e02f3b65ffb76764e0fcb7184660d Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 11 Jun 2024 13:49:24 -0400 Subject: [PATCH 26/43] fix issues --- doc/python/text-and-annotations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index eb237513d4..60582df71d 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -399,10 +399,10 @@ fig.show() *New in 5.23* -In the previous example, we set a `font-weight` using a keyword value. You can also set `font-weight` using a numeric value. +In the previous example, we set a font `weight` using a keyword value. You can also set font `weight` using a numeric value. -The font weights available depend on the `font-family` that is set. The `font-weight` -If you set a `font-weight` that isn't available for a particular `font-family`, the weight will be rounded to the nearest available value. +The font weights available depend on the font familiy that is set. +If you set a font `weight` that isn't available for a particular font familiy, the weight will be rounded to the nearest available value. ```python From a2afa668722f8871b632a9c4bd70b06f4e88c5ee Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 11 Jun 2024 13:49:36 -0400 Subject: [PATCH 27/43] add scattermapbox font customization options --- doc/python/scattermapbox.md | 63 +++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/doc/python/scattermapbox.md b/doc/python/scattermapbox.md index 8cb2b2b6ab..f5b038b982 100644 --- a/doc/python/scattermapbox.md +++ b/doc/python/scattermapbox.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.14.1 + jupytext_version: 1.16.2 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.8.0 + version: 3.10.0 plotly: description: How to make scatter plots on Mapbox maps in Python. display_as: maps @@ -265,6 +265,65 @@ fig.show() ``` +#### Font Customization + +You can customize the font on `go.Scattermapbox` traces with `textfont`. For example, you can set the `font-family`. + +```python +import plotly.graph_objects as go + +token = open(".mapbox_token").read() # you need your own token + +fig = go.Figure(go.Scattermapbox( + mode = "markers+text+lines", + lon = [-75, -80, -50], lat = [45, 20, -20], + marker = {'size': 20, 'symbol': ["bus", "harbor", "airport"]}, + text = ["Bus", "Harbor", "airport"], textposition = "bottom right", + textfont = dict(size=18, color="black", family="Open Sans Bold") + )) + +fig.update_layout( + mapbox = { + 'accesstoken': token, + 'style': "outdoors", 'zoom': 0.7}, + showlegend = False,) + +fig.show() +``` + +`go.Scattermapbox` supports the following fonts: + +'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', and 'Klokantech Noto Sans Regular'. + + +##### Font Weight + +*New in 5.23* + +You can specify a font weight on `go.Scattermapbox` with `textfont.weight`. + +```python +import plotly.graph_objects as go + +token = open(".mapbox_token").read() # you need your own token + +fig = go.Figure(go.Scattermapbox( + mode = "markers+text+lines", + lon = [-75, -80, -50], lat = [45, 20, -20], + marker = dict(size=20, symbol=["bus", "harbor", "airport"]), + text = ["Bus", "Harbor", "airport"], textposition = "bottom right", + textfont = dict(size=18, color="black", weight=900) + )) + +fig.update_layout( + mapbox = dict( + accesstoken=token, + style="outdoors", zoom=0.7), + showlegend = False,) + +fig.show() +``` + #### Reference See [function reference for `px.(scatter_mapbox)`](https://plotly.com/python-api-reference/generated/plotly.express.scatter_mapbox) or https://plotly.com/python/reference/scattermapbox/ for more information and options! From a2f9823b92b64a796ce77aac1fdf1b9bda0fb0ef Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 11 Jun 2024 13:50:19 -0400 Subject: [PATCH 28/43] Update text-and-annotations.md --- doc/python/text-and-annotations.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index 60582df71d..6f313fb0d2 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -401,8 +401,7 @@ fig.show() In the previous example, we set a font `weight` using a keyword value. You can also set font `weight` using a numeric value. -The font weights available depend on the font familiy that is set. -If you set a font `weight` that isn't available for a particular font familiy, the weight will be rounded to the nearest available value. +The font weights that are available depend on the font family that is set. If you set a font `weight` that isn't available for a particular font familiy, the weight will be rounded to the nearest available value. ```python From 9bf186e67fdfef7b2910a4168cebb24defa82603 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 12 Jun 2024 15:39:37 -0400 Subject: [PATCH 29/43] add font family --- doc/python/scattermapbox.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/python/scattermapbox.md b/doc/python/scattermapbox.md index f5b038b982..c2e34e9841 100644 --- a/doc/python/scattermapbox.md +++ b/doc/python/scattermapbox.md @@ -267,7 +267,7 @@ fig.show() #### Font Customization -You can customize the font on `go.Scattermapbox` traces with `textfont`. For example, you can set the `font-family`. +You can customize the font on `go.Scattermapbox` traces with `textfont`. For example, you can set the font `family`. ```python import plotly.graph_objects as go From 149c0b8a0e5148fa17424feb551a306c050f0034 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 12 Jun 2024 16:25:25 -0400 Subject: [PATCH 30/43] add shadow, case and lines examples --- doc/python/text-and-annotations.md | 105 +++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index 6f313fb0d2..64643dc502 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -446,6 +446,111 @@ fig.show() [scattergl](https://plotly.com/python/reference/scattergl) traces do not support all numeric font weights. Font weights up to 500 are mapped to the keyword font weight "normal", while weights above 500 are mapped to "bold". +## Text Case + +**New in 5.23** + +You can configure text case using the `textfont.textcase` property. In this example, we set `textfont.textcase="upper"` to transform the text on all bars to uppercase. + +```python +import plotly.graph_objects as go +from plotly import data + +df = data.gapminder() + +grouped = df[df.year == 2007].loc[df[df.year == 2007].groupby('continent')['lifeExp'].idxmax()] + +fig = go.Figure( + data=go.Bar( + x=grouped['lifeExp'], + y=grouped['continent'], + text=grouped['country'], + orientation='h', + textfont=dict( + family="sans serif", + size=14, + # Here we set textcase to "upper. + # Set to lower" for lowercase text, or "word caps" to capitalize the first letter of each word + textcase="upper" + + ) + ), + layout=go.Layout( + title_text='Country with Highest Life Expectancy per Continent, 2007', + yaxis=dict(showticklabels=False) + ) +) + +fig.show() +``` + +## Text Lines + +**New in 5.23** + +You can add decoration lines to text using the `textfont.lineposition` property. This property accepts `"under"`, `"over"`, and `"through"`, or a combination of these separated by a `+`. + +```python +import plotly.graph_objects as go +from plotly import data + +df = data.gapminder() + +grouped = df[df.year == 2002].loc[df[df.year == 2002].groupby('continent')['lifeExp'].idxmax()] + +fig = go.Figure( + data=go.Bar( + x=grouped['lifeExp'], + y=grouped['continent'], + text=grouped['country'], + orientation='h', + marker_color='MediumSlateBlue', + textfont=dict( + lineposition="under" # combine different line positions with a "+" to add more than one: "under+over" + ) + ), + layout=go.Layout( + title_text='Country with Highest Life Expectancy per Continent, 2002', + yaxis=dict(showticklabels=False) + ) +) + +fig.show() +``` + +## Text Shadow + +**New in 5.23** + +You can apply a shadow effect to text using the `textfont.shadow` property. This property accepts shadow specifications in the same format as the [text-shadow CSS property](https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow). + +```python +import plotly.graph_objects as go +from plotly import data + +df = data.gapminder() + +grouped = df[df.year == 1997].loc[df[df.year == 1997].groupby('continent')['lifeExp'].idxmax()] + +fig = go.Figure( + data=go.Bar( + x=grouped['lifeExp'], + y=grouped['continent'], + text=grouped['country'], + orientation='h', + textfont=dict( + shadow="1px 1px 2px pink" + ) + ), + layout=go.Layout( + title_text='Country with Highest Life Expectancy per Continent, 1997', + yaxis=dict(showticklabels=False) + ) +) + +fig.show() +``` + ### Styling and Coloring Annotations ```python From 1aa88d91448249470310ef67a60ed77e618e6b9a Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 12 Jun 2024 16:29:19 -0400 Subject: [PATCH 31/43] Update text-and-annotations.md --- doc/python/text-and-annotations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index 64643dc502..e841455e41 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -401,7 +401,7 @@ fig.show() In the previous example, we set a font `weight` using a keyword value. You can also set font `weight` using a numeric value. -The font weights that are available depend on the font family that is set. If you set a font `weight` that isn't available for a particular font familiy, the weight will be rounded to the nearest available value. +The font weights that are available depend on the font family that is set. If you set a font `weight` that isn't available for a particular font family, the weight will be rounded to the nearest available value. ```python @@ -443,7 +443,7 @@ fig = go.Figure( fig.show() ``` -[scattergl](https://plotly.com/python/reference/scattergl) traces do not support all numeric font weights. Font weights up to 500 are mapped to the keyword font weight "normal", while weights above 500 are mapped to "bold". +[scattergl](https://plotly.com/python/reference/scattergl) traces do not support all numeric font weights. When you specify a numeric font weight on `scattergl`, weights up to 500 are mapped to the keyword font weight "normal", while weights above 500 are mapped to "bold". ## Text Case From c4c41422e0e018c96d39edf3071fc7812cc31218 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Wed, 12 Jun 2024 16:30:37 -0400 Subject: [PATCH 32/43] Update scattermapbox.md --- doc/python/scattermapbox.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/python/scattermapbox.md b/doc/python/scattermapbox.md index c2e34e9841..1bd5827168 100644 --- a/doc/python/scattermapbox.md +++ b/doc/python/scattermapbox.md @@ -291,7 +291,7 @@ fig.update_layout( fig.show() ``` -`go.Scattermapbox` supports the following fonts: +`go.Scattermapbox` supports the following values for `textfont.family`: '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', and 'Klokantech Noto Sans Regular'. @@ -300,7 +300,7 @@ fig.show() *New in 5.23* -You can specify a font weight on `go.Scattermapbox` with `textfont.weight`. +You can specify a numeric font weight on `go.Scattermapbox` with `textfont.weight`. ```python import plotly.graph_objects as go From c0a775703427f80c2f3a0cb2b342620f6376bc4b Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 13 Jun 2024 13:18:42 -0400 Subject: [PATCH 33/43] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index da08517d6b..b779df6de1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Updated - Specify Python version 3.8-3.11 for development virtual environments and pin `pytest` at version 8.1.1 to match. +- Update `IntegerValidator` to handle `extras` option to allow supporting additional keyword values. For example, 'bold' and 'normal' as well as integers as used in font weights [#4612]. ## [5.22.0] - 2024-05-01 From 835c9cb033768ae399cf59bbdf741715062f11f2 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 17 Jun 2024 16:05:20 -0400 Subject: [PATCH 34/43] fix docs errors --- packages/python/plotly/plotly/express/_doc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/python/plotly/plotly/express/_doc.py b/packages/python/plotly/plotly/express/_doc.py index 5a8690f856..7e522481ec 100644 --- a/packages/python/plotly/plotly/express/_doc.py +++ b/packages/python/plotly/plotly/express/_doc.py @@ -248,7 +248,7 @@ ], facet_row_spacing=[ "float between 0 and 1", - "Spacing between facet rows, in paper units. Default is 0.03 or 0.0.7 when facet_col_wrap is used.", + "Spacing between facet rows, in paper units. Default is 0.03 or 0.07 when facet_col_wrap is used.", ], facet_col_spacing=[ "float between 0 and 1", @@ -433,7 +433,7 @@ "str", "One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'`", "Controls the browser API used to draw marks.", - "`'svg`' is appropriate for figures of less than 1000 data points, and will allow for fully-vectorized output.", + "`'svg'` is appropriate for figures of less than 1000 data points, and will allow for fully-vectorized output.", "`'webgl'` is likely necessary for acceptable performance above 1000 points but rasterizes part of the output. ", "`'auto'` uses heuristics to choose the mode.", ], From 813253b3631beb0562e770dbeb47afd2bd26690e Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 17 Jun 2024 16:26:39 -0400 Subject: [PATCH 35/43] add line_shape options to doc string --- packages/python/plotly/plotly/express/_doc.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/python/plotly/plotly/express/_doc.py b/packages/python/plotly/plotly/express/_doc.py index 5a8690f856..43769a7b20 100644 --- a/packages/python/plotly/plotly/express/_doc.py +++ b/packages/python/plotly/plotly/express/_doc.py @@ -510,7 +510,10 @@ "boolean (default `False`)", "If `True`, an extra line segment is drawn between the first and last point.", ], - line_shape=["str (default `'linear'`)", "One of `'linear'` or `'spline'`."], + line_shape=[ + "str (default `'linear'`)", + "One of `'linear'`, `'spline'`, `'hv'`, `'vh'`, `'hvh'`, or `'vhv'`", + ], fitbounds=["str (default `False`).", "One of `False`, `locations` or `geojson`."], basemap_visible=["bool", "Force the basemap visibility."], scope=[ From a63b794ffe2e28b59ade21730d27f135a8368770 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 5 Jul 2024 17:44:44 -0400 Subject: [PATCH 36/43] fix doc string --- packages/python/plotly/plotly/basedatatypes.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/python/plotly/plotly/basedatatypes.py b/packages/python/plotly/plotly/basedatatypes.py index 24900cf697..21b4cb1f31 100644 --- a/packages/python/plotly/plotly/basedatatypes.py +++ b/packages/python/plotly/plotly/basedatatypes.py @@ -2493,7 +2493,7 @@ def _get_child_prop_defaults(self, child): def _init_child_props(self, child): """ - Initialize the properites dict for a child trace or layout + Initialize the properties dict for a child trace or layout Note: this method must match the name/signature of one on BasePlotlyType @@ -3632,12 +3632,7 @@ def write_html(self, *args, **kwargs): If 'directory', a script tag is included that references an external plotly.min.js bundle that is assumed to reside in the same - directory as the HTML file. If `file` is a string to a local file path - and `full_html` is True then - - If 'directory', a script tag is included that references an external - plotly.min.js bundle that is assumed to reside in the same - directory as the HTML file. If `file` is a string to a local file + directory as the HTML file. If `file` is a string to a local file path and `full_html` is True, then the plotly.min.js bundle is copied into the directory of the resulting HTML file. If a file named plotly.min.js already exists in the output directory then this file @@ -3712,8 +3707,7 @@ def write_html(self, *args, **kwargs): Returns ------- - str - Representation of figure as an HTML div string + None """ import plotly.io as pio From ce7be775b884ac56034785e1e2ba72a15de54f37 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 11 Jul 2024 13:42:55 -0400 Subject: [PATCH 37/43] add ticklabelstandoff, ticklabelshift and ticklabelindex --- doc/python/axes.md | 60 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/doc/python/axes.md b/doc/python/axes.md index 9a6ba71bbd..d991e48714 100644 --- a/doc/python/axes.md +++ b/doc/python/axes.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.16.1 + jupytext_version: 1.16.3 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.10.11 + version: 3.10.14 plotly: description: How to adjust axes properties in Python - axes titles, styling and coloring axes and grid lines, ticks, tick labels and more. @@ -448,6 +448,62 @@ fig.update_yaxes(minor_ticks="inside") fig.show() ``` +#### Adjust Tick Label Positions + +*New in 5.23* + +You can adjust tick label positions by moving them a number of pixels away from the axis using `ticklabelstandoff` or along the axis using `ticklabelshift`. + +In this example, `ticklabelshift=25` shifts the labels 25 pixels to the right along the x-axis. By providing a negative value, we could move the labels 25 pixels to the left, (`ticklabelshift=-25`). + +Here, `ticklabelstandoff=15` moves the labels further 15 pixels away from the x-axis. A negative value here would move them close to the axis. + +```python +import plotly.express as px + +df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv') + +fig = px.line(df, x='Date', y='AAPL.High') + +fig.update_layout( + xaxis=dict( + ticks='outside', + ticklen=10, + ticklabelshift=25, + ticklabelstandoff=15 + ) +) + +fig.show() +``` + +#### Use Minor Tick for Label + +*New in 5.23* + +On date or linear axes, use `ticklabelindex` to use.. + +To draw the label for the minor tick before each major tick, choose `ticklabelindex` -1, like in the following example. + +```python +import plotly.express as px + +df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv') + +fig = px.line(df, x='Date', y='AAPL.High') + +fig.update_layout( + xaxis=dict( + minor=dict(ticks='outside'), + ticks='outside', + ticklen=10, + ticklabelindex=-1 + ) +) + +fig.show() +``` + ### Axis lines: grid and zerolines ##### Toggling Axis grid lines From a1f77f0ac84dd22d2497edd82a67e8cb51969b44 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 15 Jul 2024 14:40:57 -0400 Subject: [PATCH 38/43] Update doc/python/axes.md --- doc/python/axes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/python/axes.md b/doc/python/axes.md index d991e48714..069db7b63b 100644 --- a/doc/python/axes.md +++ b/doc/python/axes.md @@ -481,9 +481,9 @@ fig.show() *New in 5.23* -On date or linear axes, use `ticklabelindex` to use.. +On date or linear axes, use `ticklabelindex` to draw a label for a minor tick instead of a major tick. -To draw the label for the minor tick before each major tick, choose `ticklabelindex` -1, like in the following example. +To draw the label for the minor tick before each major tick, set `ticklabelindex` -1, like in the following example. ```python import plotly.express as px From ec108e0d7320844fbe6616269c03216823145602 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 16 Jul 2024 12:46:51 -0400 Subject: [PATCH 39/43] add x-shift attributes exampple --- doc/python/shapes.md | 70 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/doc/python/shapes.md b/doc/python/shapes.md index d4796f6a90..5d67fbf598 100644 --- a/doc/python/shapes.md +++ b/doc/python/shapes.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.16.1 + jupytext_version: 1.16.3 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.10.11 + version: 3.10.14 plotly: description: How to make SVG shapes in python. Examples of lines, circle, rectangle, and path. @@ -579,6 +579,72 @@ fig.update_layout( fig.show() ``` +#### Shifting Shapes on Categorical Axes + +*New in 5.23* + +When drawing shapes where `xref` or `yref` reference axes of type category or multicategory, you can shift `x0`, `x1`, `y0`, and `y1` away from the center of the category using `x0shift`, `x1shift`, `y0shift`, and `y1shift` by specifying a value between -1 and 1. + +-1 is the center of the previous category, 0 is the center of the referenced category, and 1 is the center of the next category. + +In the following example, the `x0` and `x1` values for both shapes reference category values on the x-axis. + +In this example, the first shape: +- Shifts `x0` half way between the center of category "Germany" and the center of the previous category by setting `x0shift=-0.5` +- Shifts `x1`half way between the center of category "Germany" and the center of the next category by setting `x1shift=0.5` + +The second shape: +- Shifts `x0` back to the center of the previous category by setting `x0shift=-1` +- Shifts `x1`forward to the center of the next category by setting `x1shift=1` + +```python +import plotly.graph_objects as go +import plotly.express as px + +df = px.data.gapminder().query("continent == 'Europe' and year == 1952") + +fig = go.Figure( + data=go.Bar(x=df["country"], y=df["lifeExp"], marker_color="LightSalmon"), + layout=dict( + shapes=[ + dict( + type="rect", + x0="Germany", + y0=0, + x1="Germany", + y1=0.5, + xref="x", + yref="paper", + x0shift=-0.5, + x1shift=0.5, + line=dict(color="LightGreen", width=4), + ), + dict( + type="rect", + x0="Spain", + y0=0, + x1="Spain", + y1=0.5, + xref="x", + yref="paper", + x0shift=-1, + x1shift=1, + line=dict(color="MediumTurquoise", width=4), + ), + ] + ), +) + +fig.update_layout( + title="GDP per Capita in Europe (1972)", + xaxis_title="Country", + yaxis_title="GDP per Capita", +) + +fig.show() + +``` + ### Drawing shapes with a Mouse on Cartesian plots _introduced in plotly 4.7_ From b9e178d71a93dc14f391d0e0f8db41f7054903e4 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 18 Jul 2024 09:46:36 -0400 Subject: [PATCH 40/43] update plotly.js to 2.34.0 --- CHANGELOG.md | 12 + .../jupyterlab-plotly/package-lock.json | 14 +- .../javascript/jupyterlab-plotly/package.json | 2 +- .../plotly/codegen/resources/plot-schema.json | 852 +++++++++++------- .../python/plotly/plotly/graph_objs/_bar.py | 6 +- .../plotly/plotly/graph_objs/_carpet.py | 2 +- .../plotly/plotly/graph_objs/_contour.py | 2 +- .../plotly/plotly/graph_objs/_figure.py | 32 +- .../plotly/plotly/graph_objs/_figurewidget.py | 32 +- .../plotly/plotly/graph_objs/_funnel.py | 6 +- .../plotly/plotly/graph_objs/_funnelarea.py | 4 +- .../plotly/plotly/graph_objs/_heatmap.py | 2 +- .../plotly/plotly/graph_objs/_histogram.py | 6 +- .../plotly/plotly/graph_objs/_histogram2d.py | 2 +- .../plotly/graph_objs/_histogram2dcontour.py | 2 +- .../plotly/plotly/graph_objs/_icicle.py | 6 +- .../plotly/plotly/graph_objs/_layout.py | 106 ++- .../plotly/plotly/graph_objs/_parcats.py | 4 +- .../plotly/plotly/graph_objs/_parcoords.py | 6 +- .../python/plotly/plotly/graph_objs/_pie.py | 8 +- .../plotly/plotly/graph_objs/_sankey.py | 2 +- .../plotly/plotly/graph_objs/_scatter.py | 2 +- .../plotly/plotly/graph_objs/_scatter3d.py | 2 +- .../plotly/graph_objs/_scattercarpet.py | 2 +- .../plotly/plotly/graph_objs/_scattergeo.py | 2 +- .../plotly/plotly/graph_objs/_scattergl.py | 2 +- .../plotly/graph_objs/_scattermapbox.py | 2 +- .../plotly/plotly/graph_objs/_scatterpolar.py | 2 +- .../plotly/graph_objs/_scatterpolargl.py | 2 +- .../plotly/plotly/graph_objs/_scattersmith.py | 2 +- .../plotly/graph_objs/_scatterternary.py | 2 +- .../plotly/plotly/graph_objs/_sunburst.py | 6 +- .../plotly/plotly/graph_objs/_treemap.py | 6 +- .../plotly/plotly/graph_objs/_waterfall.py | 6 +- .../plotly/graph_objs/bar/_hoverlabel.py | 2 +- .../plotly/graph_objs/bar/_insidetextfont.py | 11 +- .../graph_objs/bar/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/bar/_outsidetextfont.py | 11 +- .../plotly/plotly/graph_objs/bar/_textfont.py | 11 +- .../plotly/graph_objs/bar/hoverlabel/_font.py | 11 +- .../graph_objs/bar/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/bar/marker/_colorbar.py | 4 +- .../bar/marker/colorbar/_tickfont.py | 11 +- .../graph_objs/bar/marker/colorbar/_title.py | 2 +- .../bar/marker/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/barpolar/_hoverlabel.py | 2 +- .../graph_objs/barpolar/_legendgrouptitle.py | 2 +- .../graph_objs/barpolar/hoverlabel/_font.py | 11 +- .../barpolar/legendgrouptitle/_font.py | 11 +- .../graph_objs/barpolar/marker/_colorbar.py | 4 +- .../barpolar/marker/colorbar/_tickfont.py | 11 +- .../barpolar/marker/colorbar/_title.py | 2 +- .../barpolar/marker/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/box/_hoverlabel.py | 2 +- .../graph_objs/box/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/box/hoverlabel/_font.py | 11 +- .../graph_objs/box/legendgrouptitle/_font.py | 11 +- .../graph_objs/candlestick/_hoverlabel.py | 2 +- .../candlestick/_legendgrouptitle.py | 2 +- .../candlestick/hoverlabel/_font.py | 11 +- .../candlestick/legendgrouptitle/_font.py | 11 +- .../plotly/plotly/graph_objs/carpet/_aaxis.py | 4 +- .../plotly/plotly/graph_objs/carpet/_baxis.py | 4 +- .../plotly/plotly/graph_objs/carpet/_font.py | 11 +- .../graph_objs/carpet/_legendgrouptitle.py | 2 +- .../graph_objs/carpet/aaxis/_tickfont.py | 11 +- .../plotly/graph_objs/carpet/aaxis/_title.py | 2 +- .../graph_objs/carpet/aaxis/title/_font.py | 11 +- .../graph_objs/carpet/baxis/_tickfont.py | 11 +- .../plotly/graph_objs/carpet/baxis/_title.py | 2 +- .../graph_objs/carpet/baxis/title/_font.py | 11 +- .../carpet/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/choropleth/_colorbar.py | 4 +- .../graph_objs/choropleth/_hoverlabel.py | 2 +- .../choropleth/_legendgrouptitle.py | 2 +- .../choropleth/colorbar/_tickfont.py | 11 +- .../graph_objs/choropleth/colorbar/_title.py | 2 +- .../choropleth/colorbar/title/_font.py | 11 +- .../graph_objs/choropleth/hoverlabel/_font.py | 11 +- .../choropleth/legendgrouptitle/_font.py | 11 +- .../graph_objs/choroplethmapbox/_colorbar.py | 4 +- .../choroplethmapbox/_hoverlabel.py | 2 +- .../choroplethmapbox/_legendgrouptitle.py | 2 +- .../choroplethmapbox/colorbar/_tickfont.py | 11 +- .../choroplethmapbox/colorbar/_title.py | 2 +- .../choroplethmapbox/colorbar/title/_font.py | 11 +- .../choroplethmapbox/hoverlabel/_font.py | 11 +- .../legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/cone/_colorbar.py | 4 +- .../plotly/graph_objs/cone/_hoverlabel.py | 2 +- .../graph_objs/cone/_legendgrouptitle.py | 2 +- .../graph_objs/cone/colorbar/_tickfont.py | 11 +- .../plotly/graph_objs/cone/colorbar/_title.py | 2 +- .../graph_objs/cone/colorbar/title/_font.py | 11 +- .../graph_objs/cone/hoverlabel/_font.py | 11 +- .../graph_objs/cone/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/contour/_colorbar.py | 4 +- .../plotly/graph_objs/contour/_contours.py | 2 +- .../plotly/graph_objs/contour/_hoverlabel.py | 2 +- .../graph_objs/contour/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/contour/_textfont.py | 11 +- .../graph_objs/contour/colorbar/_tickfont.py | 11 +- .../graph_objs/contour/colorbar/_title.py | 2 +- .../contour/colorbar/title/_font.py | 11 +- .../graph_objs/contour/contours/_labelfont.py | 11 +- .../graph_objs/contour/hoverlabel/_font.py | 11 +- .../contour/legendgrouptitle/_font.py | 11 +- .../graph_objs/contourcarpet/_colorbar.py | 4 +- .../graph_objs/contourcarpet/_contours.py | 2 +- .../contourcarpet/_legendgrouptitle.py | 2 +- .../contourcarpet/colorbar/_tickfont.py | 11 +- .../contourcarpet/colorbar/_title.py | 2 +- .../contourcarpet/colorbar/title/_font.py | 11 +- .../contourcarpet/contours/_labelfont.py | 11 +- .../contourcarpet/legendgrouptitle/_font.py | 11 +- .../graph_objs/densitymapbox/_colorbar.py | 4 +- .../graph_objs/densitymapbox/_hoverlabel.py | 2 +- .../densitymapbox/_legendgrouptitle.py | 2 +- .../densitymapbox/colorbar/_tickfont.py | 11 +- .../densitymapbox/colorbar/_title.py | 2 +- .../densitymapbox/colorbar/title/_font.py | 11 +- .../densitymapbox/hoverlabel/_font.py | 11 +- .../densitymapbox/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/funnel/_hoverlabel.py | 2 +- .../graph_objs/funnel/_insidetextfont.py | 11 +- .../graph_objs/funnel/_legendgrouptitle.py | 2 +- .../graph_objs/funnel/_outsidetextfont.py | 11 +- .../plotly/graph_objs/funnel/_textfont.py | 11 +- .../graph_objs/funnel/hoverlabel/_font.py | 11 +- .../funnel/legendgrouptitle/_font.py | 11 +- .../graph_objs/funnel/marker/_colorbar.py | 4 +- .../funnel/marker/colorbar/_tickfont.py | 11 +- .../funnel/marker/colorbar/_title.py | 2 +- .../funnel/marker/colorbar/title/_font.py | 11 +- .../graph_objs/funnelarea/_hoverlabel.py | 2 +- .../graph_objs/funnelarea/_insidetextfont.py | 11 +- .../funnelarea/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/funnelarea/_textfont.py | 11 +- .../plotly/graph_objs/funnelarea/_title.py | 2 +- .../graph_objs/funnelarea/hoverlabel/_font.py | 11 +- .../funnelarea/legendgrouptitle/_font.py | 11 +- .../graph_objs/funnelarea/title/_font.py | 11 +- .../plotly/graph_objs/heatmap/_colorbar.py | 4 +- .../plotly/graph_objs/heatmap/_hoverlabel.py | 2 +- .../graph_objs/heatmap/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/heatmap/_textfont.py | 11 +- .../graph_objs/heatmap/colorbar/_tickfont.py | 11 +- .../graph_objs/heatmap/colorbar/_title.py | 2 +- .../heatmap/colorbar/title/_font.py | 11 +- .../graph_objs/heatmap/hoverlabel/_font.py | 11 +- .../heatmap/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/heatmapgl/_colorbar.py | 4 +- .../graph_objs/heatmapgl/_hoverlabel.py | 2 +- .../graph_objs/heatmapgl/_legendgrouptitle.py | 2 +- .../heatmapgl/colorbar/_tickfont.py | 11 +- .../graph_objs/heatmapgl/colorbar/_title.py | 2 +- .../heatmapgl/colorbar/title/_font.py | 11 +- .../graph_objs/heatmapgl/hoverlabel/_font.py | 11 +- .../heatmapgl/legendgrouptitle/_font.py | 11 +- .../graph_objs/histogram/_hoverlabel.py | 2 +- .../graph_objs/histogram/_insidetextfont.py | 11 +- .../graph_objs/histogram/_legendgrouptitle.py | 2 +- .../graph_objs/histogram/_outsidetextfont.py | 11 +- .../plotly/graph_objs/histogram/_textfont.py | 11 +- .../graph_objs/histogram/hoverlabel/_font.py | 11 +- .../histogram/legendgrouptitle/_font.py | 11 +- .../graph_objs/histogram/marker/_colorbar.py | 4 +- .../histogram/marker/colorbar/_tickfont.py | 11 +- .../histogram/marker/colorbar/_title.py | 2 +- .../histogram/marker/colorbar/title/_font.py | 11 +- .../graph_objs/histogram2d/_colorbar.py | 4 +- .../graph_objs/histogram2d/_hoverlabel.py | 2 +- .../histogram2d/_legendgrouptitle.py | 2 +- .../graph_objs/histogram2d/_textfont.py | 11 +- .../histogram2d/colorbar/_tickfont.py | 11 +- .../graph_objs/histogram2d/colorbar/_title.py | 2 +- .../histogram2d/colorbar/title/_font.py | 11 +- .../histogram2d/hoverlabel/_font.py | 11 +- .../histogram2d/legendgrouptitle/_font.py | 11 +- .../histogram2dcontour/_colorbar.py | 4 +- .../histogram2dcontour/_contours.py | 2 +- .../histogram2dcontour/_hoverlabel.py | 2 +- .../histogram2dcontour/_legendgrouptitle.py | 2 +- .../histogram2dcontour/_textfont.py | 11 +- .../histogram2dcontour/colorbar/_tickfont.py | 11 +- .../histogram2dcontour/colorbar/_title.py | 2 +- .../colorbar/title/_font.py | 11 +- .../histogram2dcontour/contours/_labelfont.py | 11 +- .../histogram2dcontour/hoverlabel/_font.py | 11 +- .../legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/icicle/_hoverlabel.py | 2 +- .../graph_objs/icicle/_insidetextfont.py | 11 +- .../graph_objs/icicle/_legendgrouptitle.py | 2 +- .../graph_objs/icicle/_outsidetextfont.py | 11 +- .../plotly/graph_objs/icicle/_pathbar.py | 2 +- .../plotly/graph_objs/icicle/_textfont.py | 11 +- .../graph_objs/icicle/hoverlabel/_font.py | 11 +- .../icicle/legendgrouptitle/_font.py | 11 +- .../graph_objs/icicle/marker/_colorbar.py | 4 +- .../icicle/marker/colorbar/_tickfont.py | 11 +- .../icicle/marker/colorbar/_title.py | 2 +- .../icicle/marker/colorbar/title/_font.py | 11 +- .../graph_objs/icicle/pathbar/_textfont.py | 11 +- .../plotly/graph_objs/image/_hoverlabel.py | 2 +- .../graph_objs/image/_legendgrouptitle.py | 2 +- .../graph_objs/image/hoverlabel/_font.py | 11 +- .../image/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/indicator/_delta.py | 2 +- .../graph_objs/indicator/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/indicator/_number.py | 2 +- .../plotly/graph_objs/indicator/_title.py | 2 +- .../graph_objs/indicator/delta/_font.py | 11 +- .../graph_objs/indicator/gauge/_axis.py | 2 +- .../indicator/gauge/axis/_tickfont.py | 11 +- .../indicator/legendgrouptitle/_font.py | 11 +- .../graph_objs/indicator/number/_font.py | 11 +- .../graph_objs/indicator/title/_font.py | 11 +- .../plotly/graph_objs/isosurface/_colorbar.py | 4 +- .../graph_objs/isosurface/_hoverlabel.py | 2 +- .../isosurface/_legendgrouptitle.py | 2 +- .../isosurface/colorbar/_tickfont.py | 11 +- .../graph_objs/isosurface/colorbar/_title.py | 2 +- .../isosurface/colorbar/title/_font.py | 11 +- .../graph_objs/isosurface/hoverlabel/_font.py | 11 +- .../isosurface/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/layout/_annotation.py | 12 +- .../plotly/plotly/graph_objs/layout/_font.py | 11 +- .../plotly/graph_objs/layout/_hoverlabel.py | 4 +- .../plotly/graph_objs/layout/_legend.py | 4 +- .../plotly/plotly/graph_objs/layout/_polar.py | 6 +- .../plotly/plotly/graph_objs/layout/_scene.py | 13 +- .../plotly/plotly/graph_objs/layout/_shape.py | 156 ++++ .../plotly/graph_objs/layout/_slider.py | 2 +- .../plotly/plotly/graph_objs/layout/_title.py | 42 +- .../plotly/graph_objs/layout/_updatemenu.py | 2 +- .../plotly/plotly/graph_objs/layout/_xaxis.py | 196 +++- .../plotly/plotly/graph_objs/layout/_yaxis.py | 196 +++- .../graph_objs/layout/annotation/_font.py | 11 +- .../layout/annotation/_hoverlabel.py | 2 +- .../layout/annotation/hoverlabel/_font.py | 11 +- .../graph_objs/layout/coloraxis/_colorbar.py | 4 +- .../layout/coloraxis/colorbar/_tickfont.py | 11 +- .../layout/coloraxis/colorbar/_title.py | 2 +- .../layout/coloraxis/colorbar/title/_font.py | 11 +- .../graph_objs/layout/hoverlabel/_font.py | 11 +- .../layout/hoverlabel/_grouptitlefont.py | 11 +- .../plotly/graph_objs/layout/legend/_font.py | 11 +- .../layout/legend/_grouptitlefont.py | 11 +- .../plotly/graph_objs/layout/legend/_title.py | 2 +- .../graph_objs/layout/legend/title/_font.py | 11 +- .../graph_objs/layout/mapbox/layer/_symbol.py | 2 +- .../layout/mapbox/layer/symbol/_textfont.py | 11 +- .../graph_objs/layout/newshape/_label.py | 2 +- .../layout/newshape/_legendgrouptitle.py | 2 +- .../graph_objs/layout/newshape/label/_font.py | 11 +- .../layout/newshape/legendgrouptitle/_font.py | 11 +- .../graph_objs/layout/polar/_angularaxis.py | 15 +- .../graph_objs/layout/polar/_radialaxis.py | 17 +- .../layout/polar/angularaxis/_tickfont.py | 11 +- .../layout/polar/radialaxis/_tickfont.py | 11 +- .../layout/polar/radialaxis/_title.py | 2 +- .../layout/polar/radialaxis/title/_font.py | 11 +- .../graph_objs/layout/scene/_annotation.py | 12 +- .../plotly/graph_objs/layout/scene/_xaxis.py | 17 +- .../plotly/graph_objs/layout/scene/_yaxis.py | 17 +- .../plotly/graph_objs/layout/scene/_zaxis.py | 17 +- .../layout/scene/annotation/_font.py | 11 +- .../layout/scene/annotation/_hoverlabel.py | 2 +- .../scene/annotation/hoverlabel/_font.py | 11 +- .../layout/scene/xaxis/_tickfont.py | 11 +- .../graph_objs/layout/scene/xaxis/_title.py | 2 +- .../layout/scene/xaxis/title/_font.py | 11 +- .../layout/scene/yaxis/_tickfont.py | 11 +- .../graph_objs/layout/scene/yaxis/_title.py | 2 +- .../layout/scene/yaxis/title/_font.py | 11 +- .../layout/scene/zaxis/_tickfont.py | 11 +- .../graph_objs/layout/scene/zaxis/_title.py | 2 +- .../layout/scene/zaxis/title/_font.py | 11 +- .../plotly/graph_objs/layout/shape/_label.py | 2 +- .../layout/shape/_legendgrouptitle.py | 2 +- .../graph_objs/layout/shape/label/_font.py | 11 +- .../layout/shape/legendgrouptitle/_font.py | 11 +- .../graph_objs/layout/slider/_currentvalue.py | 2 +- .../plotly/graph_objs/layout/slider/_font.py | 11 +- .../layout/slider/currentvalue/_font.py | 11 +- .../graph_objs/layout/smith/_imaginaryaxis.py | 2 +- .../graph_objs/layout/smith/_realaxis.py | 2 +- .../layout/smith/imaginaryaxis/_tickfont.py | 11 +- .../layout/smith/realaxis/_tickfont.py | 11 +- .../graph_objs/layout/ternary/_aaxis.py | 4 +- .../graph_objs/layout/ternary/_baxis.py | 4 +- .../graph_objs/layout/ternary/_caxis.py | 4 +- .../layout/ternary/aaxis/_tickfont.py | 11 +- .../graph_objs/layout/ternary/aaxis/_title.py | 2 +- .../layout/ternary/aaxis/title/_font.py | 11 +- .../layout/ternary/baxis/_tickfont.py | 11 +- .../graph_objs/layout/ternary/baxis/_title.py | 2 +- .../layout/ternary/baxis/title/_font.py | 11 +- .../layout/ternary/caxis/_tickfont.py | 11 +- .../graph_objs/layout/ternary/caxis/_title.py | 2 +- .../layout/ternary/caxis/title/_font.py | 11 +- .../graph_objs/layout/title/__init__.py | 4 +- .../plotly/graph_objs/layout/title/_font.py | 11 +- .../graph_objs/layout/title/_subtitle.py | 177 ++++ .../layout/title/subtitle/__init__.py | 9 + .../graph_objs/layout/title/subtitle/_font.py | 452 ++++++++++ .../graph_objs/layout/updatemenu/_font.py | 11 +- .../graph_objs/layout/xaxis/_rangeselector.py | 2 +- .../graph_objs/layout/xaxis/_tickfont.py | 11 +- .../plotly/graph_objs/layout/xaxis/_title.py | 2 +- .../layout/xaxis/rangeselector/_font.py | 11 +- .../graph_objs/layout/xaxis/title/_font.py | 11 +- .../graph_objs/layout/yaxis/_tickfont.py | 11 +- .../plotly/graph_objs/layout/yaxis/_title.py | 2 +- .../graph_objs/layout/yaxis/title/_font.py | 11 +- .../plotly/graph_objs/mesh3d/_colorbar.py | 4 +- .../plotly/graph_objs/mesh3d/_hoverlabel.py | 2 +- .../graph_objs/mesh3d/_legendgrouptitle.py | 2 +- .../graph_objs/mesh3d/colorbar/_tickfont.py | 11 +- .../graph_objs/mesh3d/colorbar/_title.py | 2 +- .../graph_objs/mesh3d/colorbar/title/_font.py | 11 +- .../graph_objs/mesh3d/hoverlabel/_font.py | 11 +- .../mesh3d/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/ohlc/_hoverlabel.py | 2 +- .../graph_objs/ohlc/_legendgrouptitle.py | 2 +- .../graph_objs/ohlc/hoverlabel/_font.py | 11 +- .../graph_objs/ohlc/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/parcats/_labelfont.py | 11 +- .../graph_objs/parcats/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/parcats/_tickfont.py | 11 +- .../parcats/legendgrouptitle/_font.py | 11 +- .../graph_objs/parcats/line/_colorbar.py | 4 +- .../parcats/line/colorbar/_tickfont.py | 11 +- .../parcats/line/colorbar/_title.py | 2 +- .../parcats/line/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/parcoords/_labelfont.py | 11 +- .../graph_objs/parcoords/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/parcoords/_rangefont.py | 11 +- .../plotly/graph_objs/parcoords/_tickfont.py | 11 +- .../parcoords/legendgrouptitle/_font.py | 11 +- .../graph_objs/parcoords/line/_colorbar.py | 4 +- .../parcoords/line/colorbar/_tickfont.py | 11 +- .../parcoords/line/colorbar/_title.py | 2 +- .../parcoords/line/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/pie/_hoverlabel.py | 2 +- .../plotly/graph_objs/pie/_insidetextfont.py | 11 +- .../graph_objs/pie/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/pie/_outsidetextfont.py | 11 +- .../plotly/plotly/graph_objs/pie/_textfont.py | 11 +- .../plotly/plotly/graph_objs/pie/_title.py | 2 +- .../plotly/graph_objs/pie/hoverlabel/_font.py | 11 +- .../graph_objs/pie/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/pie/title/_font.py | 11 +- .../graph_objs/pointcloud/_hoverlabel.py | 2 +- .../pointcloud/_legendgrouptitle.py | 2 +- .../graph_objs/pointcloud/hoverlabel/_font.py | 11 +- .../pointcloud/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/sankey/_hoverlabel.py | 2 +- .../graph_objs/sankey/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/sankey/_textfont.py | 11 +- .../graph_objs/sankey/hoverlabel/_font.py | 11 +- .../sankey/legendgrouptitle/_font.py | 11 +- .../graph_objs/sankey/link/_hoverlabel.py | 2 +- .../sankey/link/hoverlabel/_font.py | 11 +- .../graph_objs/sankey/node/_hoverlabel.py | 2 +- .../sankey/node/hoverlabel/_font.py | 11 +- .../plotly/graph_objs/scatter/_hoverlabel.py | 2 +- .../graph_objs/scatter/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/scatter/_textfont.py | 11 +- .../graph_objs/scatter/hoverlabel/_font.py | 11 +- .../scatter/legendgrouptitle/_font.py | 11 +- .../graph_objs/scatter/marker/_colorbar.py | 4 +- .../scatter/marker/colorbar/_tickfont.py | 11 +- .../scatter/marker/colorbar/_title.py | 2 +- .../scatter/marker/colorbar/title/_font.py | 11 +- .../graph_objs/scatter3d/_hoverlabel.py | 2 +- .../graph_objs/scatter3d/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/scatter3d/_textfont.py | 11 +- .../graph_objs/scatter3d/hoverlabel/_font.py | 11 +- .../scatter3d/legendgrouptitle/_font.py | 11 +- .../graph_objs/scatter3d/line/_colorbar.py | 4 +- .../scatter3d/line/colorbar/_tickfont.py | 11 +- .../scatter3d/line/colorbar/_title.py | 2 +- .../scatter3d/line/colorbar/title/_font.py | 11 +- .../graph_objs/scatter3d/marker/_colorbar.py | 4 +- .../scatter3d/marker/colorbar/_tickfont.py | 11 +- .../scatter3d/marker/colorbar/_title.py | 2 +- .../scatter3d/marker/colorbar/title/_font.py | 11 +- .../graph_objs/scattercarpet/_hoverlabel.py | 2 +- .../scattercarpet/_legendgrouptitle.py | 2 +- .../graph_objs/scattercarpet/_textfont.py | 11 +- .../scattercarpet/hoverlabel/_font.py | 11 +- .../scattercarpet/legendgrouptitle/_font.py | 11 +- .../scattercarpet/marker/_colorbar.py | 4 +- .../marker/colorbar/_tickfont.py | 11 +- .../scattercarpet/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../graph_objs/scattergeo/_hoverlabel.py | 2 +- .../scattergeo/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/scattergeo/_textfont.py | 11 +- .../graph_objs/scattergeo/hoverlabel/_font.py | 11 +- .../scattergeo/legendgrouptitle/_font.py | 11 +- .../graph_objs/scattergeo/marker/_colorbar.py | 4 +- .../scattergeo/marker/colorbar/_tickfont.py | 11 +- .../scattergeo/marker/colorbar/_title.py | 2 +- .../scattergeo/marker/colorbar/title/_font.py | 11 +- .../graph_objs/scattergl/_hoverlabel.py | 2 +- .../graph_objs/scattergl/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/scattergl/_textfont.py | 10 +- .../graph_objs/scattergl/hoverlabel/_font.py | 11 +- .../scattergl/legendgrouptitle/_font.py | 11 +- .../graph_objs/scattergl/marker/_colorbar.py | 4 +- .../scattergl/marker/colorbar/_tickfont.py | 11 +- .../scattergl/marker/colorbar/_title.py | 2 +- .../scattergl/marker/colorbar/title/_font.py | 11 +- .../graph_objs/scattermapbox/_hoverlabel.py | 2 +- .../scattermapbox/_legendgrouptitle.py | 2 +- .../graph_objs/scattermapbox/_textfont.py | 11 +- .../scattermapbox/hoverlabel/_font.py | 11 +- .../scattermapbox/legendgrouptitle/_font.py | 11 +- .../scattermapbox/marker/_colorbar.py | 4 +- .../marker/colorbar/_tickfont.py | 11 +- .../scattermapbox/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../graph_objs/scatterpolar/_hoverlabel.py | 2 +- .../scatterpolar/_legendgrouptitle.py | 2 +- .../graph_objs/scatterpolar/_textfont.py | 11 +- .../scatterpolar/hoverlabel/_font.py | 11 +- .../scatterpolar/legendgrouptitle/_font.py | 11 +- .../scatterpolar/marker/_colorbar.py | 4 +- .../scatterpolar/marker/colorbar/_tickfont.py | 11 +- .../scatterpolar/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../graph_objs/scatterpolargl/_hoverlabel.py | 2 +- .../scatterpolargl/_legendgrouptitle.py | 2 +- .../graph_objs/scatterpolargl/_textfont.py | 10 +- .../scatterpolargl/hoverlabel/_font.py | 11 +- .../scatterpolargl/legendgrouptitle/_font.py | 11 +- .../scatterpolargl/marker/_colorbar.py | 4 +- .../marker/colorbar/_tickfont.py | 11 +- .../scatterpolargl/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../graph_objs/scattersmith/_hoverlabel.py | 2 +- .../scattersmith/_legendgrouptitle.py | 2 +- .../graph_objs/scattersmith/_textfont.py | 11 +- .../scattersmith/hoverlabel/_font.py | 11 +- .../scattersmith/legendgrouptitle/_font.py | 11 +- .../scattersmith/marker/_colorbar.py | 4 +- .../scattersmith/marker/colorbar/_tickfont.py | 11 +- .../scattersmith/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../graph_objs/scatterternary/_hoverlabel.py | 2 +- .../scatterternary/_legendgrouptitle.py | 2 +- .../graph_objs/scatterternary/_textfont.py | 11 +- .../scatterternary/hoverlabel/_font.py | 11 +- .../scatterternary/legendgrouptitle/_font.py | 11 +- .../scatterternary/marker/_colorbar.py | 4 +- .../marker/colorbar/_tickfont.py | 11 +- .../scatterternary/marker/colorbar/_title.py | 2 +- .../marker/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/splom/_hoverlabel.py | 2 +- .../graph_objs/splom/_legendgrouptitle.py | 2 +- .../graph_objs/splom/hoverlabel/_font.py | 11 +- .../splom/legendgrouptitle/_font.py | 11 +- .../graph_objs/splom/marker/_colorbar.py | 4 +- .../splom/marker/colorbar/_tickfont.py | 11 +- .../splom/marker/colorbar/_title.py | 2 +- .../splom/marker/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/streamtube/_colorbar.py | 4 +- .../graph_objs/streamtube/_hoverlabel.py | 2 +- .../streamtube/_legendgrouptitle.py | 2 +- .../streamtube/colorbar/_tickfont.py | 11 +- .../graph_objs/streamtube/colorbar/_title.py | 2 +- .../streamtube/colorbar/title/_font.py | 11 +- .../graph_objs/streamtube/hoverlabel/_font.py | 11 +- .../streamtube/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/sunburst/_hoverlabel.py | 2 +- .../graph_objs/sunburst/_insidetextfont.py | 11 +- .../graph_objs/sunburst/_legendgrouptitle.py | 2 +- .../graph_objs/sunburst/_outsidetextfont.py | 11 +- .../plotly/graph_objs/sunburst/_textfont.py | 11 +- .../graph_objs/sunburst/hoverlabel/_font.py | 11 +- .../sunburst/legendgrouptitle/_font.py | 11 +- .../graph_objs/sunburst/marker/_colorbar.py | 4 +- .../sunburst/marker/colorbar/_tickfont.py | 11 +- .../sunburst/marker/colorbar/_title.py | 2 +- .../sunburst/marker/colorbar/title/_font.py | 11 +- .../plotly/graph_objs/surface/_colorbar.py | 4 +- .../plotly/graph_objs/surface/_hoverlabel.py | 2 +- .../graph_objs/surface/_legendgrouptitle.py | 2 +- .../graph_objs/surface/colorbar/_tickfont.py | 11 +- .../graph_objs/surface/colorbar/_title.py | 2 +- .../surface/colorbar/title/_font.py | 11 +- .../graph_objs/surface/hoverlabel/_font.py | 11 +- .../surface/legendgrouptitle/_font.py | 11 +- .../plotly/plotly/graph_objs/table/_cells.py | 2 +- .../plotly/plotly/graph_objs/table/_header.py | 2 +- .../plotly/graph_objs/table/_hoverlabel.py | 2 +- .../graph_objs/table/_legendgrouptitle.py | 2 +- .../plotly/graph_objs/table/cells/_font.py | 11 +- .../plotly/graph_objs/table/header/_font.py | 11 +- .../graph_objs/table/hoverlabel/_font.py | 11 +- .../table/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/treemap/_hoverlabel.py | 2 +- .../graph_objs/treemap/_insidetextfont.py | 11 +- .../graph_objs/treemap/_legendgrouptitle.py | 2 +- .../graph_objs/treemap/_outsidetextfont.py | 11 +- .../plotly/graph_objs/treemap/_pathbar.py | 2 +- .../plotly/graph_objs/treemap/_textfont.py | 11 +- .../graph_objs/treemap/hoverlabel/_font.py | 11 +- .../treemap/legendgrouptitle/_font.py | 11 +- .../graph_objs/treemap/marker/_colorbar.py | 4 +- .../treemap/marker/colorbar/_tickfont.py | 11 +- .../treemap/marker/colorbar/_title.py | 2 +- .../treemap/marker/colorbar/title/_font.py | 11 +- .../graph_objs/treemap/pathbar/_textfont.py | 11 +- .../plotly/graph_objs/violin/_hoverlabel.py | 2 +- .../graph_objs/violin/_legendgrouptitle.py | 2 +- .../graph_objs/violin/hoverlabel/_font.py | 11 +- .../violin/legendgrouptitle/_font.py | 11 +- .../plotly/graph_objs/volume/_colorbar.py | 4 +- .../plotly/graph_objs/volume/_hoverlabel.py | 2 +- .../graph_objs/volume/_legendgrouptitle.py | 2 +- .../graph_objs/volume/colorbar/_tickfont.py | 11 +- .../graph_objs/volume/colorbar/_title.py | 2 +- .../graph_objs/volume/colorbar/title/_font.py | 11 +- .../graph_objs/volume/hoverlabel/_font.py | 11 +- .../volume/legendgrouptitle/_font.py | 11 +- .../graph_objs/waterfall/_hoverlabel.py | 2 +- .../graph_objs/waterfall/_insidetextfont.py | 11 +- .../graph_objs/waterfall/_legendgrouptitle.py | 2 +- .../graph_objs/waterfall/_outsidetextfont.py | 11 +- .../plotly/graph_objs/waterfall/_textfont.py | 11 +- .../graph_objs/waterfall/hoverlabel/_font.py | 11 +- .../waterfall/legendgrouptitle/_font.py | 11 +- .../plotly/offline/_plotlyjs_version.py | 2 +- .../plotly/plotly/package_data/plotly.min.js | 4 +- .../plotly/validators/bar/_insidetextfont.py | 2 +- .../plotly/validators/bar/_outsidetextfont.py | 2 +- .../plotly/plotly/validators/bar/_textfont.py | 2 +- .../plotly/validators/bar/hoverlabel/_font.py | 2 +- .../validators/bar/legendgrouptitle/_font.py | 2 +- .../bar/marker/colorbar/_tickfont.py | 2 +- .../bar/marker/colorbar/title/_font.py | 2 +- .../validators/barpolar/hoverlabel/_font.py | 2 +- .../barpolar/legendgrouptitle/_font.py | 2 +- .../barpolar/marker/colorbar/_tickfont.py | 2 +- .../barpolar/marker/colorbar/title/_font.py | 2 +- .../plotly/validators/box/hoverlabel/_font.py | 2 +- .../validators/box/legendgrouptitle/_font.py | 2 +- .../candlestick/hoverlabel/_font.py | 2 +- .../candlestick/legendgrouptitle/_font.py | 2 +- .../plotly/plotly/validators/carpet/_font.py | 2 +- .../validators/carpet/aaxis/_tickfont.py | 2 +- .../validators/carpet/aaxis/title/_font.py | 2 +- .../validators/carpet/baxis/_tickfont.py | 2 +- .../validators/carpet/baxis/title/_font.py | 2 +- .../carpet/legendgrouptitle/_font.py | 2 +- .../choropleth/colorbar/_tickfont.py | 2 +- .../choropleth/colorbar/title/_font.py | 2 +- .../validators/choropleth/hoverlabel/_font.py | 2 +- .../choropleth/legendgrouptitle/_font.py | 2 +- .../choroplethmapbox/colorbar/_tickfont.py | 2 +- .../choroplethmapbox/colorbar/title/_font.py | 2 +- .../choroplethmapbox/hoverlabel/_font.py | 2 +- .../legendgrouptitle/_font.py | 2 +- .../validators/cone/colorbar/_tickfont.py | 2 +- .../validators/cone/colorbar/title/_font.py | 2 +- .../validators/cone/hoverlabel/_font.py | 2 +- .../validators/cone/legendgrouptitle/_font.py | 2 +- .../plotly/validators/contour/_textfont.py | 2 +- .../validators/contour/colorbar/_tickfont.py | 2 +- .../contour/colorbar/title/_font.py | 2 +- .../validators/contour/contours/_labelfont.py | 2 +- .../validators/contour/hoverlabel/_font.py | 2 +- .../contour/legendgrouptitle/_font.py | 2 +- .../contourcarpet/colorbar/_tickfont.py | 2 +- .../contourcarpet/colorbar/title/_font.py | 2 +- .../contourcarpet/contours/_labelfont.py | 2 +- .../contourcarpet/legendgrouptitle/_font.py | 2 +- .../densitymapbox/colorbar/_tickfont.py | 2 +- .../densitymapbox/colorbar/title/_font.py | 2 +- .../densitymapbox/hoverlabel/_font.py | 2 +- .../densitymapbox/legendgrouptitle/_font.py | 2 +- .../validators/funnel/_insidetextfont.py | 2 +- .../validators/funnel/_outsidetextfont.py | 2 +- .../plotly/validators/funnel/_textfont.py | 2 +- .../validators/funnel/hoverlabel/_font.py | 2 +- .../funnel/legendgrouptitle/_font.py | 2 +- .../funnel/marker/colorbar/_tickfont.py | 2 +- .../funnel/marker/colorbar/title/_font.py | 2 +- .../validators/funnelarea/_insidetextfont.py | 2 +- .../plotly/validators/funnelarea/_textfont.py | 2 +- .../validators/funnelarea/hoverlabel/_font.py | 2 +- .../funnelarea/legendgrouptitle/_font.py | 2 +- .../validators/funnelarea/title/_font.py | 2 +- .../plotly/validators/heatmap/_textfont.py | 2 +- .../validators/heatmap/colorbar/_tickfont.py | 2 +- .../heatmap/colorbar/title/_font.py | 2 +- .../validators/heatmap/hoverlabel/_font.py | 2 +- .../heatmap/legendgrouptitle/_font.py | 2 +- .../heatmapgl/colorbar/_tickfont.py | 2 +- .../heatmapgl/colorbar/title/_font.py | 2 +- .../validators/heatmapgl/hoverlabel/_font.py | 2 +- .../heatmapgl/legendgrouptitle/_font.py | 2 +- .../validators/histogram/_insidetextfont.py | 2 +- .../validators/histogram/_outsidetextfont.py | 2 +- .../plotly/validators/histogram/_textfont.py | 2 +- .../validators/histogram/hoverlabel/_font.py | 2 +- .../histogram/legendgrouptitle/_font.py | 2 +- .../histogram/marker/colorbar/_tickfont.py | 2 +- .../histogram/marker/colorbar/title/_font.py | 2 +- .../validators/histogram2d/_textfont.py | 2 +- .../histogram2d/colorbar/_tickfont.py | 2 +- .../histogram2d/colorbar/title/_font.py | 2 +- .../histogram2d/hoverlabel/_font.py | 2 +- .../histogram2d/legendgrouptitle/_font.py | 2 +- .../histogram2dcontour/_textfont.py | 2 +- .../histogram2dcontour/colorbar/_tickfont.py | 2 +- .../colorbar/title/_font.py | 2 +- .../histogram2dcontour/contours/_labelfont.py | 2 +- .../histogram2dcontour/hoverlabel/_font.py | 2 +- .../legendgrouptitle/_font.py | 2 +- .../validators/icicle/_insidetextfont.py | 2 +- .../validators/icicle/_outsidetextfont.py | 2 +- .../plotly/validators/icicle/_textfont.py | 2 +- .../validators/icicle/hoverlabel/_font.py | 2 +- .../icicle/legendgrouptitle/_font.py | 2 +- .../icicle/marker/colorbar/_tickfont.py | 2 +- .../icicle/marker/colorbar/title/_font.py | 2 +- .../validators/icicle/pathbar/_textfont.py | 2 +- .../validators/image/hoverlabel/_font.py | 2 +- .../image/legendgrouptitle/_font.py | 2 +- .../validators/indicator/delta/_font.py | 2 +- .../indicator/gauge/axis/_tickfont.py | 2 +- .../indicator/legendgrouptitle/_font.py | 2 +- .../validators/indicator/number/_font.py | 2 +- .../validators/indicator/title/_font.py | 2 +- .../isosurface/colorbar/_tickfont.py | 2 +- .../isosurface/colorbar/title/_font.py | 2 +- .../validators/isosurface/hoverlabel/_font.py | 2 +- .../isosurface/legendgrouptitle/_font.py | 2 +- .../plotly/validators/layout/_annotations.py | 4 +- .../plotly/plotly/validators/layout/_font.py | 2 +- .../plotly/validators/layout/_shapes.py | 24 + .../plotly/plotly/validators/layout/_title.py | 4 + .../plotly/plotly/validators/layout/_xaxis.py | 35 +- .../plotly/plotly/validators/layout/_yaxis.py | 35 +- .../validators/layout/annotation/_font.py | 2 +- .../layout/annotation/hoverlabel/_font.py | 2 +- .../layout/coloraxis/colorbar/_tickfont.py | 2 +- .../layout/coloraxis/colorbar/title/_font.py | 2 +- .../validators/layout/hoverlabel/_font.py | 2 +- .../layout/hoverlabel/_grouptitlefont.py | 2 +- .../plotly/validators/layout/legend/_font.py | 2 +- .../layout/legend/_grouptitlefont.py | 2 +- .../validators/layout/legend/title/_font.py | 2 +- .../layout/mapbox/layer/symbol/_textfont.py | 2 +- .../validators/layout/newshape/label/_font.py | 2 +- .../layout/newshape/legendgrouptitle/_font.py | 2 +- .../validators/layout/polar/_angularaxis.py | 3 +- .../validators/layout/polar/_radialaxis.py | 3 +- .../polar/angularaxis/_categoryorder.py | 2 + .../layout/polar/angularaxis/_tickfont.py | 2 +- .../layout/polar/radialaxis/_categoryorder.py | 2 + .../layout/polar/radialaxis/_tickfont.py | 2 +- .../layout/polar/radialaxis/title/_font.py | 2 +- .../validators/layout/scene/_annotations.py | 4 +- .../plotly/validators/layout/scene/_xaxis.py | 3 +- .../plotly/validators/layout/scene/_yaxis.py | 3 +- .../plotly/validators/layout/scene/_zaxis.py | 3 +- .../layout/scene/annotation/_font.py | 2 +- .../scene/annotation/hoverlabel/_font.py | 2 +- .../layout/scene/xaxis/_categoryorder.py | 2 + .../layout/scene/xaxis/_tickfont.py | 2 +- .../layout/scene/xaxis/title/_font.py | 2 +- .../layout/scene/yaxis/_categoryorder.py | 2 + .../layout/scene/yaxis/_tickfont.py | 2 +- .../layout/scene/yaxis/title/_font.py | 2 +- .../layout/scene/zaxis/_categoryorder.py | 2 + .../layout/scene/zaxis/_tickfont.py | 2 +- .../layout/scene/zaxis/title/_font.py | 2 +- .../validators/layout/shape/__init__.py | 8 + .../validators/layout/shape/_x0shift.py | 13 + .../validators/layout/shape/_x1shift.py | 13 + .../validators/layout/shape/_y0shift.py | 13 + .../validators/layout/shape/_y1shift.py | 13 + .../validators/layout/shape/label/_font.py | 2 +- .../layout/shape/legendgrouptitle/_font.py | 2 +- .../plotly/validators/layout/slider/_font.py | 2 +- .../layout/slider/currentvalue/_font.py | 2 +- .../layout/smith/imaginaryaxis/_tickfont.py | 2 +- .../layout/smith/realaxis/_tickfont.py | 2 +- .../layout/ternary/aaxis/_tickfont.py | 2 +- .../layout/ternary/aaxis/title/_font.py | 2 +- .../layout/ternary/baxis/_tickfont.py | 2 +- .../layout/ternary/baxis/title/_font.py | 2 +- .../layout/ternary/caxis/_tickfont.py | 2 +- .../layout/ternary/caxis/title/_font.py | 2 +- .../validators/layout/title/__init__.py | 2 + .../plotly/validators/layout/title/_font.py | 2 +- .../validators/layout/title/_subtitle.py | 20 + .../layout/title/subtitle/__init__.py | 12 + .../validators/layout/title/subtitle/_font.py | 61 ++ .../validators/layout/title/subtitle/_text.py | 13 + .../layout/title/subtitle/font/__init__.py | 31 + .../layout/title/subtitle/font/_color.py | 13 + .../layout/title/subtitle/font/_family.py | 15 + .../title/subtitle/font/_lineposition.py | 18 + .../layout/title/subtitle/font/_shadow.py | 13 + .../layout/title/subtitle/font/_size.py | 14 + .../layout/title/subtitle/font/_style.py | 14 + .../layout/title/subtitle/font/_textcase.py | 14 + .../layout/title/subtitle/font/_variant.py | 24 + .../layout/title/subtitle/font/_weight.py | 16 + .../validators/layout/updatemenu/_font.py | 2 +- .../validators/layout/xaxis/__init__.py | 8 + .../validators/layout/xaxis/_categoryorder.py | 2 + .../validators/layout/xaxis/_tickfont.py | 2 +- .../layout/xaxis/_ticklabelindex.py | 14 + .../layout/xaxis/_ticklabelindexsrc.py | 13 + .../layout/xaxis/_ticklabelshift.py | 13 + .../layout/xaxis/_ticklabelstandoff.py | 13 + .../layout/xaxis/rangeselector/_font.py | 2 +- .../validators/layout/xaxis/title/_font.py | 2 +- .../validators/layout/yaxis/__init__.py | 8 + .../validators/layout/yaxis/_categoryorder.py | 2 + .../validators/layout/yaxis/_tickfont.py | 2 +- .../layout/yaxis/_ticklabelindex.py | 14 + .../layout/yaxis/_ticklabelindexsrc.py | 13 + .../layout/yaxis/_ticklabelshift.py | 13 + .../layout/yaxis/_ticklabelstandoff.py | 13 + .../validators/layout/yaxis/title/_font.py | 2 +- .../validators/mesh3d/colorbar/_tickfont.py | 2 +- .../validators/mesh3d/colorbar/title/_font.py | 2 +- .../validators/mesh3d/hoverlabel/_font.py | 2 +- .../mesh3d/legendgrouptitle/_font.py | 2 +- .../validators/ohlc/hoverlabel/_font.py | 2 +- .../validators/ohlc/legendgrouptitle/_font.py | 2 +- .../plotly/validators/parcats/_labelfont.py | 2 +- .../plotly/validators/parcats/_tickfont.py | 2 +- .../parcats/legendgrouptitle/_font.py | 2 +- .../parcats/line/colorbar/_tickfont.py | 2 +- .../parcats/line/colorbar/title/_font.py | 2 +- .../plotly/validators/parcoords/_labelfont.py | 2 +- .../plotly/validators/parcoords/_rangefont.py | 2 +- .../plotly/validators/parcoords/_tickfont.py | 2 +- .../parcoords/legendgrouptitle/_font.py | 2 +- .../parcoords/line/colorbar/_tickfont.py | 2 +- .../parcoords/line/colorbar/title/_font.py | 2 +- .../plotly/validators/pie/_insidetextfont.py | 2 +- .../plotly/validators/pie/_outsidetextfont.py | 2 +- .../plotly/plotly/validators/pie/_textfont.py | 2 +- .../plotly/validators/pie/hoverlabel/_font.py | 2 +- .../validators/pie/legendgrouptitle/_font.py | 2 +- .../plotly/validators/pie/title/_font.py | 2 +- .../validators/pointcloud/hoverlabel/_font.py | 2 +- .../pointcloud/legendgrouptitle/_font.py | 2 +- .../plotly/validators/sankey/_textfont.py | 2 +- .../validators/sankey/hoverlabel/_font.py | 2 +- .../sankey/legendgrouptitle/_font.py | 2 +- .../sankey/link/hoverlabel/_font.py | 2 +- .../sankey/node/hoverlabel/_font.py | 2 +- .../plotly/validators/scatter/_textfont.py | 2 +- .../validators/scatter/hoverlabel/_font.py | 2 +- .../scatter/legendgrouptitle/_font.py | 2 +- .../scatter/marker/colorbar/_tickfont.py | 2 +- .../scatter/marker/colorbar/title/_font.py | 2 +- .../plotly/validators/scatter3d/_textfont.py | 2 +- .../validators/scatter3d/hoverlabel/_font.py | 2 +- .../scatter3d/legendgrouptitle/_font.py | 2 +- .../scatter3d/line/colorbar/_tickfont.py | 2 +- .../scatter3d/line/colorbar/title/_font.py | 2 +- .../scatter3d/marker/colorbar/_tickfont.py | 2 +- .../scatter3d/marker/colorbar/title/_font.py | 2 +- .../validators/scattercarpet/_textfont.py | 2 +- .../scattercarpet/hoverlabel/_font.py | 2 +- .../scattercarpet/legendgrouptitle/_font.py | 2 +- .../marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../plotly/validators/scattergeo/_textfont.py | 2 +- .../validators/scattergeo/hoverlabel/_font.py | 2 +- .../scattergeo/legendgrouptitle/_font.py | 2 +- .../scattergeo/marker/colorbar/_tickfont.py | 2 +- .../scattergeo/marker/colorbar/title/_font.py | 2 +- .../plotly/validators/scattergl/_textfont.py | 2 +- .../validators/scattergl/hoverlabel/_font.py | 2 +- .../scattergl/legendgrouptitle/_font.py | 2 +- .../scattergl/marker/colorbar/_tickfont.py | 2 +- .../scattergl/marker/colorbar/title/_font.py | 2 +- .../validators/scattermapbox/_textfont.py | 2 +- .../scattermapbox/hoverlabel/_font.py | 2 +- .../scattermapbox/legendgrouptitle/_font.py | 2 +- .../marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../validators/scatterpolar/_textfont.py | 2 +- .../scatterpolar/hoverlabel/_font.py | 2 +- .../scatterpolar/legendgrouptitle/_font.py | 2 +- .../scatterpolar/marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../validators/scatterpolargl/_textfont.py | 2 +- .../scatterpolargl/hoverlabel/_font.py | 2 +- .../scatterpolargl/legendgrouptitle/_font.py | 2 +- .../marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../validators/scattersmith/_textfont.py | 2 +- .../scattersmith/hoverlabel/_font.py | 2 +- .../scattersmith/legendgrouptitle/_font.py | 2 +- .../scattersmith/marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../validators/scatterternary/_textfont.py | 2 +- .../scatterternary/hoverlabel/_font.py | 2 +- .../scatterternary/legendgrouptitle/_font.py | 2 +- .../marker/colorbar/_tickfont.py | 2 +- .../marker/colorbar/title/_font.py | 2 +- .../validators/splom/hoverlabel/_font.py | 2 +- .../splom/legendgrouptitle/_font.py | 2 +- .../splom/marker/colorbar/_tickfont.py | 2 +- .../splom/marker/colorbar/title/_font.py | 2 +- .../streamtube/colorbar/_tickfont.py | 2 +- .../streamtube/colorbar/title/_font.py | 2 +- .../validators/streamtube/hoverlabel/_font.py | 2 +- .../streamtube/legendgrouptitle/_font.py | 2 +- .../validators/sunburst/_insidetextfont.py | 2 +- .../validators/sunburst/_outsidetextfont.py | 2 +- .../plotly/validators/sunburst/_textfont.py | 2 +- .../validators/sunburst/hoverlabel/_font.py | 2 +- .../sunburst/legendgrouptitle/_font.py | 2 +- .../sunburst/marker/colorbar/_tickfont.py | 2 +- .../sunburst/marker/colorbar/title/_font.py | 2 +- .../validators/surface/colorbar/_tickfont.py | 2 +- .../surface/colorbar/title/_font.py | 2 +- .../validators/surface/hoverlabel/_font.py | 2 +- .../surface/legendgrouptitle/_font.py | 2 +- .../plotly/validators/table/cells/_font.py | 2 +- .../plotly/validators/table/header/_font.py | 2 +- .../validators/table/hoverlabel/_font.py | 2 +- .../table/legendgrouptitle/_font.py | 2 +- .../validators/treemap/_insidetextfont.py | 2 +- .../validators/treemap/_outsidetextfont.py | 2 +- .../plotly/validators/treemap/_textfont.py | 2 +- .../validators/treemap/hoverlabel/_font.py | 2 +- .../treemap/legendgrouptitle/_font.py | 2 +- .../treemap/marker/colorbar/_tickfont.py | 2 +- .../treemap/marker/colorbar/title/_font.py | 2 +- .../validators/treemap/pathbar/_textfont.py | 2 +- .../validators/violin/hoverlabel/_font.py | 2 +- .../violin/legendgrouptitle/_font.py | 2 +- .../validators/volume/colorbar/_tickfont.py | 2 +- .../validators/volume/colorbar/title/_font.py | 2 +- .../validators/volume/hoverlabel/_font.py | 2 +- .../volume/legendgrouptitle/_font.py | 2 +- .../validators/waterfall/_insidetextfont.py | 2 +- .../validators/waterfall/_outsidetextfont.py | 2 +- .../plotly/validators/waterfall/_textfont.py | 2 +- .../validators/waterfall/hoverlabel/_font.py | 2 +- .../waterfall/legendgrouptitle/_font.py | 2 +- 857 files changed, 4785 insertions(+), 2368 deletions(-) create mode 100644 packages/python/plotly/plotly/graph_objs/layout/title/_subtitle.py create mode 100644 packages/python/plotly/plotly/graph_objs/layout/title/subtitle/__init__.py create mode 100644 packages/python/plotly/plotly/graph_objs/layout/title/subtitle/_font.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/_x0shift.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/_x1shift.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/_y0shift.py create mode 100644 packages/python/plotly/plotly/validators/layout/shape/_y1shift.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/_subtitle.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/__init__.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/_font.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/_text.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/__init__.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_color.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_family.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_lineposition.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_shadow.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_size.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_style.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_textcase.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_variant.py create mode 100644 packages/python/plotly/plotly/validators/layout/title/subtitle/font/_weight.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindex.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindexsrc.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelshift.py create mode 100644 packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelstandoff.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindex.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindexsrc.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelshift.py create mode 100644 packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelstandoff.py diff --git a/CHANGELOG.md b/CHANGELOG.md index b779df6de1..3c5913e17c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,21 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [5.23.0] - TBD ### Updated +- Updated Plotly.js from version 2.32.0 to version 2.34.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2340----2024-07-18) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: + - Add `subtitle` attribute to `layout.title` to enable adding subtitles to plots [[#7012](https://github.com/plotly/plotly.js/pull/7012)] + - Introduce "u" and "s" pseudo html tags to add partial underline and strike-through styles to SVG text elements [[#7043](https://github.com/plotly/plotly.js/pull/7043)] + - Add geometric mean functionality and 'geometric mean ascending' + 'geometric mean descending' to `category_order` on cartesian axes [[#6223](https://github.com/plotly/plotly.js/pull/6223)], + with thanks to @acxz and @prabhathc for the contribution! + - Add axis property `ticklabelindex` for drawing the label for each minor tick n positions away from a major tick, + with thanks to @my-tien for the contribution! [[#7036](https://github.com/plotly/plotly.js/pull/7036)] + - Add property `ticklabelstandoff` and `ticklabelshift` to cartesian axes to adjust positioning of tick labels, + with thanks to @my-tien for the contribution! [[#7006](https://github.com/plotly/plotly.js/pull/7006)] + - Add `x0shift`, `x1shift`, `y0shift`, `y1shift` to shapes to add control over positioning of shape vertices on (multi-)category axes, + with thanks to @my-tien for the contribution! [[#7005](https://github.com/plotly/plotly.js/pull/7005)] - Specify Python version 3.8-3.11 for development virtual environments and pin `pytest` at version 8.1.1 to match. - Update `IntegerValidator` to handle `extras` option to allow supporting additional keyword values. For example, 'bold' and 'normal' as well as integers as used in font weights [#4612]. + ## [5.22.0] - 2024-05-01 ### Updated diff --git a/packages/javascript/jupyterlab-plotly/package-lock.json b/packages/javascript/jupyterlab-plotly/package-lock.json index dc76f23181..9fe90cd0d2 100644 --- a/packages/javascript/jupyterlab-plotly/package-lock.json +++ b/packages/javascript/jupyterlab-plotly/package-lock.json @@ -14,7 +14,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.33.0" + "plotly.js": "^2.34.0" }, "devDependencies": { "@jupyterlab/builder": "^3.0.0", @@ -4372,9 +4372,9 @@ } }, "node_modules/plotly.js": { - "version": "2.33.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.33.0.tgz", - "integrity": "sha512-pzuf6hSUCaSYmEag2b2DngkHdYMn+U/QMSC/UJOLIS8yd2UwIG1iGUmOR7pqZIS87oKx/+cMoG8aknGytgJKig==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.34.0.tgz", + "integrity": "sha512-dG2LC6wY6AUR1jsnriBi9xbigLPEEXXOHhLo97dRiZAWZVS6lZCmXXZ227U4rsoluXyfyqQezaKq7svolap8Dw==", "dependencies": { "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", @@ -9921,9 +9921,9 @@ } }, "plotly.js": { - "version": "2.33.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.33.0.tgz", - "integrity": "sha512-pzuf6hSUCaSYmEag2b2DngkHdYMn+U/QMSC/UJOLIS8yd2UwIG1iGUmOR7pqZIS87oKx/+cMoG8aknGytgJKig==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.34.0.tgz", + "integrity": "sha512-dG2LC6wY6AUR1jsnriBi9xbigLPEEXXOHhLo97dRiZAWZVS6lZCmXXZ227U4rsoluXyfyqQezaKq7svolap8Dw==", "requires": { "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", diff --git a/packages/javascript/jupyterlab-plotly/package.json b/packages/javascript/jupyterlab-plotly/package.json index 52dbb20ceb..7523880971 100644 --- a/packages/javascript/jupyterlab-plotly/package.json +++ b/packages/javascript/jupyterlab-plotly/package.json @@ -65,7 +65,7 @@ "@lumino/messaging": "^1.2.3", "@lumino/widgets": "^1.8.1", "lodash": "^4.17.4", - "plotly.js": "^2.33.0" + "plotly.js": "^2.34.0" }, "jupyterlab": { "extension": "lib/jupyterlab-plugin", diff --git a/packages/python/plotly/codegen/resources/plot-schema.json b/packages/python/plotly/codegen/resources/plot-schema.json index fd2b1659e3..01a86088c8 100644 --- a/packages/python/plotly/codegen/resources/plot-schema.json +++ b/packages/python/plotly/codegen/resources/plot-schema.json @@ -609,7 +609,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "layoutstyle", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "layoutstyle", "noBlank": true, "strict": true, @@ -867,7 +867,7 @@ "description": "Sets the annotation text font.", "editType": "calc+arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc+arraydraw", "noBlank": true, "strict": true, @@ -975,7 +975,7 @@ "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", "editType": "arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "arraydraw", "noBlank": true, "strict": true, @@ -1118,7 +1118,7 @@ "valType": "string" }, "text": { - "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , are also supported.", + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", "editType": "calc+arraydraw", "valType": "string" }, @@ -1339,7 +1339,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -1627,7 +1627,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -1873,7 +1873,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -2212,7 +2212,7 @@ "description": "Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "dflt": "\"Open Sans\", verdana, arial, sans-serif", "editType": "calc", "noBlank": true, @@ -3052,7 +3052,7 @@ "description": "Sets the default hover label font used by all traces on the graph.", "editType": "none", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "dflt": "Arial, sans-serif", "editType": "none", "noBlank": true, @@ -3143,7 +3143,7 @@ "description": "Sets the font for group titles in hover (unified modes). Defaults to `hoverlabel.font`.", "editType": "none", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -3428,7 +3428,7 @@ "description": "Sets the font used to text the legend items.", "editType": "legend", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "legend", "noBlank": true, "strict": true, @@ -3527,7 +3527,7 @@ "description": "Sets the font for group titles in legend. Defaults to `legend.font` with its size increased about 10%.", "editType": "legend", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "legend", "noBlank": true, "strict": true, @@ -3675,7 +3675,7 @@ "description": "Sets this legend's title font. Defaults to `legend.font` with its size increased about 20%.", "editType": "legend", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "legend", "noBlank": true, "strict": true, @@ -4152,7 +4152,7 @@ "description": "Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "dflt": "Open Sans Regular, Arial Unicode MS Regular", "editType": "plot", "noBlank": true, @@ -4488,7 +4488,7 @@ "description": "Sets the new shape label text font.", "editType": "none", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -4670,7 +4670,7 @@ "description": "Sets this legend group's title font.", "editType": "none", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -4869,7 +4869,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "calc", "valType": "enumerated", @@ -4888,6 +4888,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -5117,7 +5119,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -5452,7 +5454,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -5653,7 +5655,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "calc", "valType": "enumerated", @@ -5672,6 +5674,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -5932,7 +5936,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -6149,7 +6153,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -6405,7 +6409,7 @@ "description": "Sets the annotation text font.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -6513,7 +6517,7 @@ "description": "Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -6656,7 +6660,7 @@ "valType": "string" }, "text": { - "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , are also supported.", + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.", "editType": "calc", "valType": "string" }, @@ -6982,7 +6986,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -7170,7 +7174,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "plot", "valType": "enumerated", @@ -7189,6 +7193,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -7464,7 +7470,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -7674,7 +7680,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -7814,7 +7820,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -8002,7 +8008,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "plot", "valType": "enumerated", @@ -8021,6 +8027,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -8296,7 +8304,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -8506,7 +8514,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -8646,7 +8654,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -8834,7 +8842,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "plot", "valType": "enumerated", @@ -8853,6 +8861,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -9128,7 +9138,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -9338,7 +9348,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -9633,7 +9643,7 @@ "description": "Sets the shape label text font.", "editType": "calc+arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc+arraydraw", "noBlank": true, "strict": true, @@ -9815,7 +9825,7 @@ "description": "Sets this legend group's title font.", "editType": "calc+arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc+arraydraw", "noBlank": true, "strict": true, @@ -10005,11 +10015,27 @@ "editType": "calc+arraydraw", "valType": "any" }, + "x0shift": { + "description": "Shifts `x0` away from the center of the category when `xref` is a *category* or *multicategory* axis. -0.5 corresponds to the start of the category and 0.5 corresponds to the end of the category.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": -1, + "valType": "number" + }, "x1": { "description": "Sets the shape's end x position. See `type` and `xsizemode` for more info.", "editType": "calc+arraydraw", "valType": "any" }, + "x1shift": { + "description": "Shifts `x1` away from the center of the category when `xref` is a *category* or *multicategory* axis. -0.5 corresponds to the start of the category and 0.5 corresponds to the end of the category.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": -1, + "valType": "number" + }, "xanchor": { "description": "Only relevant in conjunction with `xsizemode` set to *pixel*. Specifies the anchor point on the x axis to which `x0`, `x1` and x coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `xsizemode` not set to *pixel*.", "editType": "calc+arraydraw", @@ -10039,11 +10065,27 @@ "editType": "calc+arraydraw", "valType": "any" }, + "y0shift": { + "description": "Shifts `y0` away from the center of the category when `yref` is a *category* or *multicategory* axis. -0.5 corresponds to the start of the category and 0.5 corresponds to the end of the category.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": -1, + "valType": "number" + }, "y1": { "description": "Sets the shape's end y position. See `type` and `ysizemode` for more info.", "editType": "calc+arraydraw", "valType": "any" }, + "y1shift": { + "description": "Shifts `y1` away from the center of the category when `yref` is a *category* or *multicategory* axis. -0.5 corresponds to the start of the category and 0.5 corresponds to the end of the category.", + "dflt": 0, + "editType": "calc", + "max": 1, + "min": -1, + "valType": "number" + }, "yanchor": { "description": "Only relevant in conjunction with `ysizemode` set to *pixel*. Specifies the anchor point on the y axis to which `y0`, `y1` and y coordinates within `path` are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect when `ysizemode` not set to *pixel*.", "editType": "calc+arraydraw", @@ -10122,7 +10164,7 @@ "description": "Sets the font of the current value label text.", "editType": "arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "arraydraw", "noBlank": true, "strict": true, @@ -10247,7 +10289,7 @@ "description": "Sets the font of the slider step labels.", "editType": "arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "arraydraw", "noBlank": true, "strict": true, @@ -10791,7 +10833,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -11074,7 +11116,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -11252,7 +11294,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -11534,7 +11576,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -11751,7 +11793,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -11860,7 +11902,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -12142,7 +12184,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -12359,7 +12401,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -12474,7 +12516,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -12756,7 +12798,7 @@ "description": "Sets the tick font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -12973,7 +13015,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -13162,7 +13204,7 @@ "description": "Sets the title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "layoutstyle", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "layoutstyle", "noBlank": true, "strict": true, @@ -13273,6 +13315,104 @@ } }, "role": "object", + "subtitle": { + "editType": "layoutstyle", + "font": { + "color": { + "editType": "layoutstyle", + "valType": "color" + }, + "description": "Sets the subtitle font.", + "editType": "layoutstyle", + "family": { + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "editType": "layoutstyle", + "noBlank": true, + "strict": true, + "valType": "string" + }, + "lineposition": { + "description": "Sets the kind of decoration line(s) with text, such as an *under*, *over* or *through* as well as combinations e.g. *under+over*, etc.", + "dflt": "none", + "editType": "layoutstyle", + "extras": [ + "none" + ], + "flags": [ + "under", + "over", + "through" + ], + "valType": "flaglist" + }, + "role": "object", + "shadow": { + "description": "Sets the shape and color of the shadow behind text. *auto* places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.", + "dflt": "none", + "editType": "layoutstyle", + "valType": "string" + }, + "size": { + "editType": "layoutstyle", + "min": 1, + "valType": "number" + }, + "style": { + "description": "Sets whether a font should be styled with a normal or italic face from its family.", + "dflt": "normal", + "editType": "layoutstyle", + "valType": "enumerated", + "values": [ + "normal", + "italic" + ] + }, + "textcase": { + "description": "Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.", + "dflt": "normal", + "editType": "layoutstyle", + "valType": "enumerated", + "values": [ + "normal", + "word caps", + "upper", + "lower" + ] + }, + "variant": { + "description": "Sets the variant of the font.", + "dflt": "normal", + "editType": "layoutstyle", + "valType": "enumerated", + "values": [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase" + ] + }, + "weight": { + "description": "Sets the weight (or boldness) of the font.", + "dflt": "normal", + "editType": "layoutstyle", + "extras": [ + "normal", + "bold" + ], + "max": 1000, + "min": 1, + "valType": "integer" + } + }, + "role": "object", + "text": { + "description": "Sets the plot's subtitle.", + "editType": "layoutstyle", + "valType": "string" + } + }, "text": { "description": "Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.", "editType": "layoutstyle", @@ -13573,7 +13713,7 @@ "description": "Sets the font of the update menu button text.", "editType": "arraydraw", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "arraydraw", "noBlank": true, "strict": true, @@ -13786,7 +13926,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -14011,7 +14151,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "calc", "valType": "enumerated", @@ -14030,6 +14170,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -14582,7 +14724,7 @@ "description": "Sets the font of the range selector button text.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -14983,7 +15125,7 @@ "description": "Sets the tick font.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -15116,6 +15258,17 @@ }, "role": "object" }, + "ticklabelindex": { + "arrayOk": true, + "description": "Only for axes with `type` *date* or *linear*. Instead of drawing the major tick label, draw the label for the minor tick that is n positions away from the major tick. E.g. to always draw the label for the minor tick before each major tick, choose `ticklabelindex` -1. This is useful for date axes with `ticklabelmode` *period* if you want to label the period that ends with each major tick instead of the period that begins there.", + "editType": "calc", + "valType": "integer" + }, + "ticklabelindexsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ticklabelindex`.", + "editType": "none", + "valType": "string" + }, "ticklabelmode": { "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.", "dflt": "instant", @@ -15154,6 +15307,18 @@ "inside bottom" ] }, + "ticklabelshift": { + "description": "Shifts the tick labels by the specified number of pixels in parallel to the axis. Positive values move the labels in the positive direction of the axis.", + "dflt": 0, + "editType": "ticks", + "valType": "integer" + }, + "ticklabelstandoff": { + "description": "Sets the standoff distance (in px) between the axis tick labels and their default position. A positive `ticklabelstandoff` moves the labels farther away from the plot area if `ticklabelposition` is *outside*, and deeper into the plot area if `ticklabelposition` is *inside*. A negative `ticklabelstandoff` works in the opposite direction, moving outside ticks towards the plot area and inside ticks towards the outside. If the negative value is large enough, inside ticks can even end up outside and vice versa.", + "dflt": 0, + "editType": "ticks", + "valType": "integer" + }, "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, @@ -15249,7 +15414,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -15406,7 +15571,7 @@ "description": "Former `titlefont` is now the sub-attribute `font` of `title`. To customize title font properties, please use `title.font` now.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -15637,7 +15802,7 @@ "valType": "string" }, "categoryorder": { - "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.", + "description": "Specifies the ordering logic for the case of categorical variables. By default, plotly uses *trace*, which specifies the order that is present in the data supplied. Set `categoryorder` to *category ascending* or *category descending* if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the *trace* mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean, geometric mean or median of all the values.", "dflt": "trace", "editType": "calc", "valType": "enumerated", @@ -15656,6 +15821,8 @@ "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending" ] @@ -16292,7 +16459,7 @@ "description": "Sets the tick font.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -16425,6 +16592,17 @@ }, "role": "object" }, + "ticklabelindex": { + "arrayOk": true, + "description": "Only for axes with `type` *date* or *linear*. Instead of drawing the major tick label, draw the label for the minor tick that is n positions away from the major tick. E.g. to always draw the label for the minor tick before each major tick, choose `ticklabelindex` -1. This is useful for date axes with `ticklabelmode` *period* if you want to label the period that ends with each major tick instead of the period that begins there.", + "editType": "calc", + "valType": "integer" + }, + "ticklabelindexsrc": { + "description": "Sets the source reference on Chart Studio Cloud for `ticklabelindex`.", + "editType": "none", + "valType": "string" + }, "ticklabelmode": { "description": "Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an effect for axes of `type` *date* When set to *period*, tick labels are drawn in the middle of the period between ticks.", "dflt": "instant", @@ -16463,6 +16641,18 @@ "inside bottom" ] }, + "ticklabelshift": { + "description": "Shifts the tick labels by the specified number of pixels in parallel to the axis. Positive values move the labels in the positive direction of the axis.", + "dflt": 0, + "editType": "ticks", + "valType": "integer" + }, + "ticklabelstandoff": { + "description": "Sets the standoff distance (in px) between the axis tick labels and their default position. A positive `ticklabelstandoff` moves the labels farther away from the plot area if `ticklabelposition` is *outside*, and deeper into the plot area if `ticklabelposition` is *inside*. A negative `ticklabelstandoff` works in the opposite direction, moving outside ticks towards the plot area and inside ticks towards the outside. If the negative value is large enough, inside ticks can even end up outside and vice versa.", + "dflt": 0, + "editType": "ticks", + "valType": "integer" + }, "ticklabelstep": { "description": "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.", "dflt": 1, @@ -16558,7 +16748,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.", "editType": "ticks", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "ticks", "noBlank": true, "strict": true, @@ -17048,7 +17238,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -17252,7 +17442,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -17402,7 +17592,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -17571,7 +17761,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -17859,7 +18049,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -18105,7 +18295,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -18565,7 +18755,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -18780,7 +18970,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -19352,7 +19542,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -19551,7 +19741,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -19720,7 +19910,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -20008,7 +20198,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -20254,7 +20444,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -21039,7 +21229,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -21255,7 +21445,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -22586,7 +22776,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -22805,7 +22995,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -23199,7 +23389,7 @@ "description": "Deprecated in favor of `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -23648,7 +23838,7 @@ "description": "Sets the tick font.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -23832,7 +24022,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -23971,7 +24161,7 @@ "description": "Deprecated in favor of `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -24420,7 +24610,7 @@ "description": "Sets the tick font.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -24604,7 +24794,7 @@ "description": "Sets this axis' title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -24765,7 +24955,7 @@ "description": "The default font used for axis & tick labels on this carpet", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "dflt": "\"Open Sans\", verdana, arial, sans-serif", "editType": "calc", "noBlank": true, @@ -24875,7 +25065,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -25128,7 +25318,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -25416,7 +25606,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -25662,7 +25852,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -25940,7 +26130,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -26139,7 +26329,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -26531,7 +26721,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -26819,7 +27009,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -27065,7 +27255,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -27337,7 +27527,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -27536,7 +27726,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -27963,7 +28153,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -28251,7 +28441,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -28497,7 +28687,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -28763,7 +28953,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -28962,7 +29152,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -29414,7 +29604,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -29702,7 +29892,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -29948,7 +30138,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -30160,7 +30350,7 @@ "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -30430,7 +30620,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -30633,7 +30823,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -30853,7 +31043,7 @@ "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -31347,7 +31537,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -31635,7 +31825,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -31881,7 +32071,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -32087,7 +32277,7 @@ "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -32319,7 +32509,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -32679,7 +32869,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -32967,7 +33157,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -33213,7 +33403,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -33475,7 +33665,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -33684,7 +33874,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -34150,7 +34340,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -34353,7 +34543,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -34503,7 +34693,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -34672,7 +34862,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -34960,7 +35150,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -35206,7 +35396,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -35562,7 +35752,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -35748,7 +35938,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -36294,7 +36484,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -36486,7 +36676,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -36652,7 +36842,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -36964,7 +37154,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -37156,7 +37346,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -37411,7 +37601,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -37699,7 +37889,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -37945,7 +38135,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -38230,7 +38420,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -38433,7 +38623,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -38609,7 +38799,7 @@ "description": "Sets the text font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -39059,7 +39249,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -39347,7 +39537,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -39593,7 +39783,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -39873,7 +40063,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -40042,7 +40232,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -40782,7 +40972,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -40978,7 +41168,7 @@ "description": "Sets the font used for `text` lying inside the bar.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -41081,7 +41271,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -41250,7 +41440,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -41538,7 +41728,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -41784,7 +41974,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -42238,7 +42428,7 @@ "description": "Sets the font used for `text` lying outside the bar.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -42399,7 +42589,7 @@ "description": "Sets the text font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -42812,7 +43002,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -43100,7 +43290,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -43346,7 +43536,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -43634,7 +43824,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -43821,7 +44011,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -44020,7 +44210,7 @@ "description": "Sets the text font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -44426,7 +44616,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -44714,7 +44904,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -44960,7 +45150,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -45167,7 +45357,7 @@ "description": "Sets the font used for labeling the contour levels. The default color comes from the lines, if shown. The default family and size come from `layout.font`.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -45440,7 +45630,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -45627,7 +45817,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -45871,7 +46061,7 @@ "description": "For this trace it only has an effect if `coloring` is set to *heatmap*. Sets the text font.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -46376,7 +46566,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -46569,7 +46759,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -46734,7 +46924,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -46903,7 +47093,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -47191,7 +47381,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -47437,7 +47627,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -47801,7 +47991,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -47980,7 +48170,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -48176,7 +48366,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -48567,7 +48757,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -48758,7 +48948,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -49096,7 +49286,7 @@ "description": "Set the font used to display the delta", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -49436,7 +49626,7 @@ "description": "Sets the color bar's tick label font", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -49845,7 +50035,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -49983,7 +50173,7 @@ "description": "Set the font used to display main number", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -50123,7 +50313,7 @@ "description": "Set the font used to display the title", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -50383,7 +50573,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -50671,7 +50861,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -50917,7 +51107,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -51209,7 +51399,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -51418,7 +51608,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -52009,7 +52199,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -52297,7 +52487,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -52543,7 +52733,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -52856,7 +53046,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -53105,7 +53295,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -53683,7 +53873,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -53911,7 +54101,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -54467,7 +54657,7 @@ "description": "Sets the font for the `dimension` labels.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -54558,7 +54748,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -54721,7 +54911,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -55009,7 +55199,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -55255,7 +55445,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -55516,7 +55706,7 @@ "description": "Sets the font for the `category` labels.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -55844,7 +56034,7 @@ "description": "Sets the font for the `dimension` labels.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -55951,7 +56141,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -56120,7 +56310,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -56408,7 +56598,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -56654,7 +56844,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -56939,7 +57129,7 @@ "description": "Sets the font for the `dimension` range values.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -57047,7 +57237,7 @@ "description": "Sets the font for the `dimension` tick values.", "editType": "plot", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -57214,7 +57404,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -57500,7 +57690,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -57692,7 +57882,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -57870,7 +58060,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -58146,7 +58336,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -58351,7 +58541,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -58545,7 +58735,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -58864,7 +59054,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -59049,7 +59239,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -59522,7 +59712,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -59691,7 +59881,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -59956,7 +60146,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -60321,7 +60511,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -60598,7 +60788,7 @@ "description": "Sets the font for node labels", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -61199,7 +61389,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -61408,7 +61598,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -61675,7 +61865,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -61963,7 +62153,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -62209,7 +62399,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -63251,7 +63441,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -64074,7 +64264,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -64273,7 +64463,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -64442,7 +64632,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -64730,7 +64920,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -64976,7 +65166,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -65257,7 +65447,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -65545,7 +65735,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -65791,7 +65981,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -66322,7 +66512,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -66740,7 +66930,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -66948,7 +67138,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -67200,7 +67390,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -67488,7 +67678,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -67734,7 +67924,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -68741,7 +68931,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -69140,7 +69330,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -69349,7 +69539,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -69603,7 +69793,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -69891,7 +70081,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -70137,7 +70327,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -71137,7 +71327,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -71712,7 +71902,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -71911,7 +72101,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -72135,7 +72325,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -72423,7 +72613,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -72669,7 +72859,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -73622,7 +73812,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -74151,7 +74341,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -74360,7 +74550,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -74573,7 +74763,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -74861,7 +75051,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -75107,7 +75297,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -75475,7 +75665,7 @@ "description": "Sets the icon text font (color=mapbox.layer.paint.text-color, size=mapbox.layer.layout.text-size). Has an effect only when `type` is set to *symbol*.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "dflt": "Open Sans Regular, Arial Unicode MS Regular", "editType": "calc", "noBlank": true, @@ -75749,7 +75939,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -75957,7 +76147,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -76209,7 +76399,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -76497,7 +76687,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -76743,7 +76933,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -77771,7 +77961,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -78175,7 +78365,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -78374,7 +78564,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -78585,7 +78775,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -78873,7 +79063,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -79119,7 +79309,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -80094,7 +80284,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -80435,7 +80625,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -80653,7 +80843,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -80905,7 +81095,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -81193,7 +81383,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -81439,7 +81629,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -82461,7 +82651,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -82860,7 +83050,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -83068,7 +83258,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -83320,7 +83510,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -83608,7 +83798,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -83854,7 +84044,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -84874,7 +85064,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -85286,7 +85476,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -85485,7 +85675,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -85666,7 +85856,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -85954,7 +86144,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -86200,7 +86390,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -87303,7 +87493,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -87591,7 +87781,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -87837,7 +88027,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -88104,7 +88294,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -88297,7 +88487,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -88915,7 +89105,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -89108,7 +89298,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -89285,7 +89475,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -89454,7 +89644,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -89742,7 +89932,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -89988,7 +90178,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -90352,7 +90542,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -90551,7 +90741,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -90854,7 +91044,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -91142,7 +91332,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -91388,7 +91578,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -91939,7 +92129,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -92138,7 +92328,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -92611,7 +92801,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -92966,7 +93156,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -93254,7 +93444,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -93423,7 +93613,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -93770,7 +93960,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -93963,7 +94153,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -94117,7 +94307,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -94286,7 +94476,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -94574,7 +94764,7 @@ "description": "Sets the color bar's tick label font", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -94820,7 +95010,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "colorbars", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "colorbars", "noBlank": true, "strict": true, @@ -95229,7 +95419,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -95408,7 +95598,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -95604,7 +95794,7 @@ "editType": "plot", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "plot", "noBlank": true, "strict": true, @@ -96036,7 +96226,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -96256,7 +96446,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -97440,7 +97630,7 @@ "description": "Deprecated in favor of color bar's `title.font`.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -97728,7 +97918,7 @@ "description": "Sets the color bar's tick label font", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -97974,7 +98164,7 @@ "description": "Sets this color bar's title font. Note that the title's font used to be set by the now deprecated `titlefont` attribute.", "editType": "calc", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -98266,7 +98456,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -98475,7 +98665,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -99217,7 +99407,7 @@ "editType": "none", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "none", "noBlank": true, "strict": true, @@ -99452,7 +99642,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -99602,7 +99792,7 @@ "description": "Sets this legend group's title font.", "editType": "style", "family": { - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "style", "noBlank": true, "strict": true, @@ -99780,7 +99970,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, @@ -99966,7 +100156,7 @@ "editType": "calc", "family": { "arrayOk": true, - "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", + "description": "HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include *Arial*, *Balto*, *Courier New*, *Droid Sans*, *Droid Serif*, *Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*, *PT Sans Narrow*, *Raleway*, *Times New Roman*.", "editType": "calc", "noBlank": true, "strict": true, diff --git a/packages/python/plotly/plotly/graph_objs/_bar.py b/packages/python/plotly/plotly/graph_objs/_bar.py index 5dc8433328..ecec82885b 100644 --- a/packages/python/plotly/plotly/graph_objs/_bar.py +++ b/packages/python/plotly/plotly/graph_objs/_bar.py @@ -756,7 +756,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1281,7 +1281,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1538,7 +1538,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_carpet.py b/packages/python/plotly/plotly/graph_objs/_carpet.py index 73adc4aa8c..b0d8fba78f 100644 --- a/packages/python/plotly/plotly/graph_objs/_carpet.py +++ b/packages/python/plotly/plotly/graph_objs/_carpet.py @@ -935,7 +935,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_contour.py b/packages/python/plotly/plotly/graph_objs/_contour.py index 0e7066c037..3a2256f8ac 100644 --- a/packages/python/plotly/plotly/graph_objs/_contour.py +++ b/packages/python/plotly/plotly/graph_objs/_contour.py @@ -1473,7 +1473,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_figure.py b/packages/python/plotly/plotly/graph_objs/_figure.py index b5c5ce7408..957c2d7d68 100644 --- a/packages/python/plotly/plotly/graph_objs/_figure.py +++ b/packages/python/plotly/plotly/graph_objs/_figure.py @@ -23106,8 +23106,8 @@ def add_annotation( Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -24097,12 +24097,16 @@ def add_shape( type=None, visible=None, x0=None, + x0shift=None, x1=None, + x1shift=None, xanchor=None, xref=None, xsizemode=None, y0=None, + y0shift=None, y1=None, + y1shift=None, yanchor=None, yref=None, ysizemode=None, @@ -24236,9 +24240,19 @@ def add_shape( x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on the x axis to @@ -24273,9 +24287,19 @@ def add_shape( y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on the y axis to @@ -24347,12 +24371,16 @@ def add_shape( type=type, visible=visible, x0=x0, + x0shift=x0shift, x1=x1, + x1shift=x1shift, xanchor=xanchor, xref=xref, xsizemode=xsizemode, y0=y0, + y0shift=y0shift, y1=y1, + y1shift=y1shift, yanchor=yanchor, yref=yref, ysizemode=ysizemode, diff --git a/packages/python/plotly/plotly/graph_objs/_figurewidget.py b/packages/python/plotly/plotly/graph_objs/_figurewidget.py index 6fcae3cadc..9113036423 100644 --- a/packages/python/plotly/plotly/graph_objs/_figurewidget.py +++ b/packages/python/plotly/plotly/graph_objs/_figurewidget.py @@ -23112,8 +23112,8 @@ def add_annotation( Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -24103,12 +24103,16 @@ def add_shape( type=None, visible=None, x0=None, + x0shift=None, x1=None, + x1shift=None, xanchor=None, xref=None, xsizemode=None, y0=None, + y0shift=None, y1=None, + y1shift=None, yanchor=None, yref=None, ysizemode=None, @@ -24242,9 +24246,19 @@ def add_shape( x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on the x axis to @@ -24279,9 +24293,19 @@ def add_shape( y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on the y axis to @@ -24353,12 +24377,16 @@ def add_shape( type=type, visible=visible, x0=x0, + x0shift=x0shift, x1=x1, + x1shift=x1shift, xanchor=xanchor, xref=xref, xsizemode=xsizemode, y0=y0, + y0shift=y0shift, y1=y1, + y1shift=y1shift, yanchor=yanchor, yref=yref, ysizemode=ysizemode, diff --git a/packages/python/plotly/plotly/graph_objs/_funnel.py b/packages/python/plotly/plotly/graph_objs/_funnel.py index 5f7a5ce22d..020103db49 100644 --- a/packages/python/plotly/plotly/graph_objs/_funnel.py +++ b/packages/python/plotly/plotly/graph_objs/_funnel.py @@ -580,7 +580,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1080,7 +1080,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1306,7 +1306,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_funnelarea.py b/packages/python/plotly/plotly/graph_objs/_funnelarea.py index af6de00ee3..98cb63442b 100644 --- a/packages/python/plotly/plotly/graph_objs/_funnelarea.py +++ b/packages/python/plotly/plotly/graph_objs/_funnelarea.py @@ -495,7 +495,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1009,7 +1009,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_heatmap.py b/packages/python/plotly/plotly/graph_objs/_heatmap.py index 73dadb6f3b..0ac8830965 100644 --- a/packages/python/plotly/plotly/graph_objs/_heatmap.py +++ b/packages/python/plotly/plotly/graph_objs/_heatmap.py @@ -1233,7 +1233,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_histogram.py b/packages/python/plotly/plotly/graph_objs/_histogram.py index 0997c1ce7a..9be69878b7 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram.py @@ -842,7 +842,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1347,7 +1347,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1576,7 +1576,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2d.py b/packages/python/plotly/plotly/graph_objs/_histogram2d.py index 496ba34d9c..2bf04120f5 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2d.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2d.py @@ -1288,7 +1288,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py index 6db69841f5..ea00eb8bcb 100644 --- a/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py +++ b/packages/python/plotly/plotly/graph_objs/_histogram2dcontour.py @@ -1462,7 +1462,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_icicle.py b/packages/python/plotly/plotly/graph_objs/_icicle.py index 6e9ad08367..da989e61f2 100644 --- a/packages/python/plotly/plotly/graph_objs/_icicle.py +++ b/packages/python/plotly/plotly/graph_objs/_icicle.py @@ -487,7 +487,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1002,7 +1002,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_layout.py b/packages/python/plotly/plotly/graph_objs/_layout.py index 7a1b89cd29..978ade1a46 100644 --- a/packages/python/plotly/plotly/graph_objs/_layout.py +++ b/packages/python/plotly/plotly/graph_objs/_layout.py @@ -434,8 +434,8 @@ def annotations(self): Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). - Tags , , are also - supported. + Tags , , , , are + also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -1275,7 +1275,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -3286,9 +3286,21 @@ def shapes(self): x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the + category when `xref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the + category when `xref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on @@ -3328,9 +3340,21 @@ def shapes(self): y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the + category when `yref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the + category when `yref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on @@ -3811,6 +3835,10 @@ def title(self): `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is "middle*/*center". + subtitle + :class:`plotly.graph_objects.layout.title.Subti + tle` instance or dict with compatible + properties text Sets the plot's title. Note that before the existence of `title.text`, the title's contents @@ -3893,7 +3921,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -4434,7 +4462,8 @@ def xaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -4789,6 +4818,20 @@ def xaxis(self): out.xaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". + Instead of drawing the major tick label, draw + the label for the minor tick that is n + positions away from the major tick. E.g. to + always draw the label for the minor tick before + each major tick, choose `ticklabelindex` -1. + This is useful for date axes with + `ticklabelmode` "period" if you want to label + the period that ends with each major tick + instead of the period that begins there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud + for `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid @@ -4816,6 +4859,24 @@ def xaxis(self): axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number + of pixels in parallel to the axis. Positive + values move the labels in the positive + direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the + axis tick labels and their default position. A + positive `ticklabelstandoff` moves the labels + farther away from the plot area if + `ticklabelposition` is "outside", and deeper + into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works + in the opposite direction, moving outside ticks + towards the plot area and inside ticks towards + the outside. If the negative value is large + enough, inside ticks can even end up outside + and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value @@ -5007,7 +5068,8 @@ def yaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -5365,6 +5427,20 @@ def yaxis(self): out.yaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". + Instead of drawing the major tick label, draw + the label for the minor tick that is n + positions away from the major tick. E.g. to + always draw the label for the minor tick before + each major tick, choose `ticklabelindex` -1. + This is useful for date axes with + `ticklabelmode` "period" if you want to label + the period that ends with each major tick + instead of the period that begins there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud + for `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid @@ -5392,6 +5468,24 @@ def yaxis(self): axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number + of pixels in parallel to the axis. Positive + values move the labels in the positive + direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the + axis tick labels and their default position. A + positive `ticklabelstandoff` moves the labels + farther away from the plot area if + `ticklabelposition` is "outside", and deeper + into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works + in the opposite direction, moving outside ticks + towards the plot area and inside ticks towards + the outside. If the negative value is large + enough, inside ticks can even end up outside + and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value diff --git a/packages/python/plotly/plotly/graph_objs/_parcats.py b/packages/python/plotly/plotly/graph_objs/_parcats.py index 242499bd99..14abfac323 100644 --- a/packages/python/plotly/plotly/graph_objs/_parcats.py +++ b/packages/python/plotly/plotly/graph_objs/_parcats.py @@ -393,7 +393,7 @@ def labelfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -787,7 +787,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_parcoords.py b/packages/python/plotly/plotly/graph_objs/_parcoords.py index cbc76482e8..52ce3b4c6e 100644 --- a/packages/python/plotly/plotly/graph_objs/_parcoords.py +++ b/packages/python/plotly/plotly/graph_objs/_parcoords.py @@ -347,7 +347,7 @@ def labelfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -721,7 +721,7 @@ def rangefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -823,7 +823,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_pie.py b/packages/python/plotly/plotly/graph_objs/_pie.py index e6fc0273bd..0225572dcb 100644 --- a/packages/python/plotly/plotly/graph_objs/_pie.py +++ b/packages/python/plotly/plotly/graph_objs/_pie.py @@ -525,7 +525,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -965,7 +965,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1250,7 +1250,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1528,7 +1528,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_sankey.py b/packages/python/plotly/plotly/graph_objs/_sankey.py index c1d43958d2..0baeb303eb 100644 --- a/packages/python/plotly/plotly/graph_objs/_sankey.py +++ b/packages/python/plotly/plotly/graph_objs/_sankey.py @@ -808,7 +808,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scatter.py b/packages/python/plotly/plotly/graph_objs/_scatter.py index fe83d93255..dfacd25f06 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatter.py +++ b/packages/python/plotly/plotly/graph_objs/_scatter.py @@ -1698,7 +1698,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scatter3d.py b/packages/python/plotly/plotly/graph_objs/_scatter3d.py index 85502e1de1..5592bf81f7 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatter3d.py +++ b/packages/python/plotly/plotly/graph_objs/_scatter3d.py @@ -1391,7 +1391,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scattercarpet.py b/packages/python/plotly/plotly/graph_objs/_scattercarpet.py index 75d82c0616..4c66720906 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattercarpet.py +++ b/packages/python/plotly/plotly/graph_objs/_scattercarpet.py @@ -1244,7 +1244,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scattergeo.py b/packages/python/plotly/plotly/graph_objs/_scattergeo.py index 9ac8dab8df..0fcf2f839a 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattergeo.py +++ b/packages/python/plotly/plotly/graph_objs/_scattergeo.py @@ -1313,7 +1313,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scattergl.py b/packages/python/plotly/plotly/graph_objs/_scattergl.py index d04e40d805..551d5caaf8 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattergl.py +++ b/packages/python/plotly/plotly/graph_objs/_scattergl.py @@ -1294,7 +1294,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scattermapbox.py b/packages/python/plotly/plotly/graph_objs/_scattermapbox.py index 7763e64e65..04219fdbf9 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattermapbox.py +++ b/packages/python/plotly/plotly/graph_objs/_scattermapbox.py @@ -1241,7 +1241,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scatterpolar.py b/packages/python/plotly/plotly/graph_objs/_scatterpolar.py index 59543085fb..57ba5a4e27 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatterpolar.py +++ b/packages/python/plotly/plotly/graph_objs/_scatterpolar.py @@ -1295,7 +1295,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scatterpolargl.py b/packages/python/plotly/plotly/graph_objs/_scatterpolargl.py index d77ceb0fc9..0269ff4df8 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatterpolargl.py +++ b/packages/python/plotly/plotly/graph_objs/_scatterpolargl.py @@ -1212,7 +1212,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scattersmith.py b/packages/python/plotly/plotly/graph_objs/_scattersmith.py index 5c7cd1745b..81f82092bf 100644 --- a/packages/python/plotly/plotly/graph_objs/_scattersmith.py +++ b/packages/python/plotly/plotly/graph_objs/_scattersmith.py @@ -1270,7 +1270,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_scatterternary.py b/packages/python/plotly/plotly/graph_objs/_scatterternary.py index 02d88188ef..ed6069b993 100644 --- a/packages/python/plotly/plotly/graph_objs/_scatterternary.py +++ b/packages/python/plotly/plotly/graph_objs/_scatterternary.py @@ -1343,7 +1343,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_sunburst.py b/packages/python/plotly/plotly/graph_objs/_sunburst.py index ba15eb23ec..1772f95271 100644 --- a/packages/python/plotly/plotly/graph_objs/_sunburst.py +++ b/packages/python/plotly/plotly/graph_objs/_sunburst.py @@ -487,7 +487,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1030,7 +1030,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1301,7 +1301,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_treemap.py b/packages/python/plotly/plotly/graph_objs/_treemap.py index 0a2ed9b888..3a8ecce44e 100644 --- a/packages/python/plotly/plotly/graph_objs/_treemap.py +++ b/packages/python/plotly/plotly/graph_objs/_treemap.py @@ -487,7 +487,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -990,7 +990,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1278,7 +1278,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/_waterfall.py b/packages/python/plotly/plotly/graph_objs/_waterfall.py index 910e0f518b..42767a089d 100644 --- a/packages/python/plotly/plotly/graph_objs/_waterfall.py +++ b/packages/python/plotly/plotly/graph_objs/_waterfall.py @@ -662,7 +662,7 @@ def insidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1104,7 +1104,7 @@ def outsidetextfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1330,7 +1330,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py index 05ca0a38b9..c3176a3f1a 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py index b548599417..6ee256b05e 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py index eaf468831e..04d4ea9812 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py index 8732b7b3ce..3f549b619c 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/_textfont.py b/packages/python/plotly/plotly/graph_objs/bar/_textfont.py index a929a6d278..0dfa461b5a 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -583,7 +584,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py index ed53be99bd..9ddfd6157d 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py index 575ce6dc0c..a74f82ad72 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py index 13151db2e4..d4b44c8340 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1289,7 +1289,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py index 596f8351e5..394786fc03 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py index 86cabafea6..f38cf37339 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py index e42830cc27..9416d5ab63 100644 --- a/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/bar/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py index adf50f8db7..319d6463b9 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py index e574994a50..382ec3f2fa 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py index 25a1dbc108..7a45bd2cd8 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py index 665e59385a..c687282cf1 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py index 30b1ca67c6..3efcf763a9 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py index 4fb1a792e0..2667ba1461 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py index cf37595e18..03ac290cdc 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py index 1e9aa22e60..b89684bac5 100644 --- a/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/barpolar/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py index 4dbb60b4e7..085989401d 100644 --- a/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/box/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py index ec36e556dc..3b29c42997 100644 --- a/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/box/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py index 3e24141a92..88a5fb615b 100644 --- a/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/box/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py index 242e48c9d0..3518bc7dc5 100644 --- a/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/box/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py index 8cd34d490d..15b35f56c0 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/_hoverlabel.py @@ -259,7 +259,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py index ba061161b7..a22132a92a 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py index 65a931f638..2d14c6a155 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py index 1e54174f5e..91a143fa79 100644 --- a/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/candlestick/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py index c877db5db5..b3533de412 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_aaxis.py @@ -1325,7 +1325,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1694,7 +1694,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py index de752359b8..5cf9c2115b 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_baxis.py @@ -1325,7 +1325,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1694,7 +1694,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/_font.py index b1738f361c..0c9a268fe4 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -345,7 +346,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py index 47366e26cf..21c3ed89ce 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py index e92e6f21e6..7f475688ca 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py index ce155a5db8..dd4800481f 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py index 150e3b4754..29a6c87d46 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/aaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py index dead2912f2..b213684bd4 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py index 2f7f39703b..bb14a95820 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py index 187c9c0d0b..f0227005b6 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/baxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py index 5b81354a97..cf69105682 100644 --- a/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/carpet/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py index 2a50a3c729..1283e461d3 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1289,7 +1289,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py index 2c6f3f232a..0bdd610b66 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py index 6a13ae0a31..74bf725c37 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py index 01e99793d4..ec56e3bf55 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py index ede63d6a4c..27b671e714 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py index 503bcc1ad8..63b7d6ef05 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py index bf97b9484c..eb251f0f84 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py index 78abd37837..bff087169d 100644 --- a/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choropleth/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py index 55f8caec3d..fa17caf7ce 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py index a7be35f615..de0a533c59 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py index e15d0108d8..9056854540 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py index a081ce6777..749bc578d0 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py index 3a691a67ce..48b97561fd 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py index df690ec7e8..a52b0d4198 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py index 84c7a7bba1..20baef3110 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py index 9d6534808c..cfc6f22938 100644 --- a/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/choroplethmapbox/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py index 56b3ce6507..1be587fe97 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py index ed08f1503a..ef2366f78b 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py index a907e71678..24dc61b02e 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/cone/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py index 28fb9152d6..2381270385 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py index e0e40343ce..07f9240d3e 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py index 2173309978..cae27b179b 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py index ffbe369e76..b91545dc98 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py index 773a29b75b..63ce18de9a 100644 --- a/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/cone/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py index 340fbb93b8..4cd9f5b396 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contour/_contours.py b/packages/python/plotly/plotly/graph_objs/contour/_contours.py index 0a13d892fa..4ad82b3cd1 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_contours.py @@ -100,7 +100,7 @@ def labelfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py index 0e88276c61..52d7b6bf37 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py index 85abdc8555..40421668d9 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contour/_textfont.py b/packages/python/plotly/plotly/graph_objs/contour/_textfont.py index 0d3539ab0f..96dabd6ae9 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py index 3d1f7a9276..b1bdca8419 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py index dd6e33b33c..90e74b311e 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py index f419bc0ae3..ae0d0023b2 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py index 492d7fddb6..1e3a2c32d3 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/contour/contours/_labelfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -348,7 +349,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py index a9bbc15f27..0eea706a79 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py index e0ff3d6ac7..936dcca095 100644 --- a/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contour/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py index 00f471924d..ef1dac2d0a 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py index 9aab5096b4..1a42279c36 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_contours.py @@ -99,7 +99,7 @@ def labelfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py index 0ab825aa95..d2762d9296 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py index 734e27b92f..f2b70b48f4 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py index 8d04131f3a..8fa8feab02 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py index e9670e2d29..29c9eefdd1 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py index 569d93ebdf..b00c790bea 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/contours/_labelfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -348,7 +349,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py index 243601339e..0a27236553 100644 --- a/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/contourcarpet/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py index a44ff65937..61f0ef67c7 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py index 0180d99336..58d689d30a 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py index ff6b020569..73db098292 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py index 50885fd4cd..ea94f9a537 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py index 7191da7763..60e89a4efb 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py index 413b2bb0bf..4c516e9d0e 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py index 259f9e449d..911b301cd2 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py index 787c53ef42..56a65819eb 100644 --- a/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/densitymapbox/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py index 47a169bb6c..4b8cd699fd 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py index a4bfb5a167..15d1bd879c 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py index 7496efb546..832af37c03 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py index ce1dfdcc67..cdd87277e5 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py b/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py index 5e59260588..819d8a9a27 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py index 2d4aa031f2..2a28014f01 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py index 9bc148e8d5..dd8ff5b48a 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py index 61009eabe4..8be45a545b 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py index 2e168be71a..fe9990088c 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py index 6d108036a5..381bfbf1a8 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py index cdf6884373..ecc977dcb9 100644 --- a/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnel/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py index 11cdb9b5f2..68437d3f5b 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py index 6a4919cf8f..1c8e79cf57 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py index 466ef2f787..4e4a440462 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py index 0c32d4426d..3ba02007f0 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py index 69a0d6ac30..555ab0193f 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/_title.py @@ -44,7 +44,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py index 9c78945690..32d628d3c0 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py index 00714cbe97..63d3af7147 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py index 7c724c2bb7..0750886e55 100644 --- a/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/funnelarea/title/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -585,7 +586,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py index 5b2ceef7f5..bd46f29ff4 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py index aeba91b72d..736d3e4baf 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py index 51ebeffe81..36b4fc7f80 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py b/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py index 113d0a5e77..552355ffff 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py index f13276bbc2..41542ed437 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py index 6a5e92e8a8..a625b279d6 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py index 7946e58a56..ba620b8e49 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py index 877d536c29..deaf08155d 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py index 9ba6ecee70..f426b334be 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmap/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py index 271dfa21ae..b716d03350 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1289,7 +1289,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py index 17063cf4b0..24ffa45ae4 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py index 34ffb5a6f6..b18f5c9ce1 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py index 3ae2b2d3c2..cf256d4a71 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py index 52f4cdc658..7b8e291339 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py index ede6b0cb33..2dda884e70 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py index ade6b5c42e..965ad1cbd4 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py index c2cb761b8e..96bd8d13b0 100644 --- a/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/heatmapgl/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py index 502b687513..89296ba702 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py index 29cdaa6762..e62907cb35 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_insidetextfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py index d824e0c142..97d65c720d 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py index c239ba9cbf..2e9ff3e407 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_outsidetextfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py index 8ac6bc768e..e8a97b2f5a 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py index caa7b193ef..098db6c9dc 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py index 55f3344f1d..734c1a794a 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py index 8a0791bebc..95ad7779fe 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py index 29b78f0b27..645c1e21bf 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py index 1de9103382..8c5df63381 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py index 218cdd1f77..a009e93a95 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py index 8c79a53154..43df9a125e 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py index 806856edd8..715c1cc3db 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py index ffbfd33188..979b092a17 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py index c8d20028a2..ca9fc73e12 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py index 0b1fea0272..53a01f84f1 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py index 2b3a35d58e..e2c672dbc6 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py index d343059391..15362e8331 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py index ccb3b3a853..91b139efb2 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py index c47e11f3f7..37188e5d4e 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2d/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py index 72a910c2ba..a5e81b4b3f 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py index 475f332eeb..3bde7c8a43 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_contours.py @@ -100,7 +100,7 @@ def labelfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py index ecce014367..ff167f7ff3 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py index f5fc47a6f5..2223befe89 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py index 4c3abc28a0..7be04af0de 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py index ddac4914da..0e9fb3405d 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py index af03ab8220..3cbadbd032 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py index fc1fe75271..47990bb4ae 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py index 802610f44c..52126661af 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/contours/_labelfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -348,7 +349,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py index 0123b1e15c..405e7222a0 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py index 415a4f5d63..3252767329 100644 --- a/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/histogram2dcontour/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py index 578942c200..6e4ba23e95 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py index 67cc169f1f..60f0e664fe 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py index e9d09ac3fb..bf46d58bb5 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py index 54eee09750..e6b2e9096c 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -588,7 +589,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py b/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py index 63c8c90b57..ce07a887ef 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_pathbar.py @@ -87,7 +87,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py b/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py index 75a378941a..98bcd51c13 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py index 0f746859ac..1a84101217 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py index cb08bea2f2..7c43ff99fa 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py index 6d90c5aa93..029db97504 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py index b0bcfebca0..05ab514abe 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py index 33704d92ed..d137c54a7b 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py index b6a6efc8d4..4793975b53 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py b/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py index d78de264f7..2f4001cc85 100644 --- a/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/icicle/pathbar/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py index 9b923283e1..d478acc3c2 100644 --- a/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/image/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py index f042e956f0..42cc69f2e3 100644 --- a/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/image/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py index a3afc4578b..e50d253393 100644 --- a/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/image/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py index 7f52b62bb4..cedd56ff73 100644 --- a/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/image/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_delta.py b/packages/python/plotly/plotly/graph_objs/indicator/_delta.py index d6d984a85b..ea1172bd31 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_delta.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_delta.py @@ -78,7 +78,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py index 6700e90b3e..d577919e71 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_number.py b/packages/python/plotly/plotly/graph_objs/indicator/_number.py index daf65225a4..bd09a52f1c 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_number.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_number.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/indicator/_title.py b/packages/python/plotly/plotly/graph_objs/indicator/_title.py index 4e283e7b7a..6f0b54ed75 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/_title.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/_title.py @@ -63,7 +63,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py index fd96708d29..41f9eababf 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/delta/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py b/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py index 0b340efc92..f35563e787 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/gauge/_axis.py @@ -450,7 +450,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py index d927928f9d..fcb620a75e 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/gauge/axis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py index 1c5abef2f8..63989ccdd7 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py index 8bdd4dcb14..abe1446861 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/number/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py b/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py index 9afae3177f..d5ddfe375c 100644 --- a/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/indicator/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py index 7cdc1f0e9f..c03af51c80 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1289,7 +1289,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py index 88d9a85fa3..6e69404371 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py index bdb870034a..fa29490fb7 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py index 5307aec75c..1caa4e05f7 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py index befe14e33f..a3e59806a4 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py index 6f8e7ecae4..9f98deafce 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py index 91cf03695d..b1fe9aacd3 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py index f887601e7d..b84607e962 100644 --- a/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/isosurface/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/_annotation.py b/packages/python/plotly/plotly/graph_objs/layout/_annotation.py index 50da6a3306..dc021742cc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_annotation.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_annotation.py @@ -602,7 +602,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -916,7 +916,7 @@ def text(self): Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). - Tags , , are also supported. + Tags , , , , are also supported. The 'text' property is a string and must be specified as: - A string @@ -1460,8 +1460,8 @@ def _prop_descriptions(self): Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -1797,8 +1797,8 @@ def __init__( Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. diff --git a/packages/python/plotly/plotly/graph_objs/layout/_font.py b/packages/python/plotly/plotly/graph_objs/layout/_font.py index 87c4cad3c6..2f24c33b38 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py index dfd1c85a6f..71b5ecdbdd 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_hoverlabel.py @@ -189,7 +189,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -259,7 +259,7 @@ def grouptitlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/_legend.py b/packages/python/plotly/plotly/graph_objs/layout/_legend.py index 8d781012ad..a585508509 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_legend.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_legend.py @@ -249,7 +249,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -344,7 +344,7 @@ def grouptitlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/_polar.py b/packages/python/plotly/plotly/graph_objs/layout/_polar.py index 715abd6a63..5428fc2c5e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_polar.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_polar.py @@ -67,7 +67,8 @@ def angularaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -603,7 +604,8 @@ def radialaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/graph_objs/layout/_scene.py b/packages/python/plotly/plotly/graph_objs/layout/_scene.py index ca6baa3de9..a8c811e83e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_scene.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_scene.py @@ -154,8 +154,8 @@ def annotations(self): Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). - Tags , , are also - supported. + Tags , , , , are + also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -583,7 +583,8 @@ def xaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -939,7 +940,8 @@ def yaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -1295,7 +1297,8 @@ def zaxis(self): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/graph_objs/layout/_shape.py b/packages/python/plotly/plotly/graph_objs/layout/_shape.py index 0478e4d8fb..3ca398a320 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_shape.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_shape.py @@ -28,12 +28,16 @@ class Shape(_BaseLayoutHierarchyType): "type", "visible", "x0", + "x0shift", "x1", + "x1shift", "xanchor", "xref", "xsizemode", "y0", + "y0shift", "y1", + "y1shift", "yanchor", "yref", "ysizemode", @@ -621,6 +625,29 @@ def x0(self): def x0(self, val): self["x0"] = val + # x0shift + # ------- + @property + def x0shift(self): + """ + Shifts `x0` away from the center of the category when `xref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'x0shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["x0shift"] + + @x0shift.setter + def x0shift(self, val): + self["x0shift"] = val + # x1 # -- @property @@ -641,6 +668,29 @@ def x1(self): def x1(self, val): self["x1"] = val + # x1shift + # ------- + @property + def x1shift(self): + """ + Shifts `x1` away from the center of the category when `xref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'x1shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["x1shift"] + + @x1shift.setter + def x1shift(self, val): + self["x1shift"] = val + # xanchor # ------- @property @@ -745,6 +795,29 @@ def y0(self): def y0(self, val): self["y0"] = val + # y0shift + # ------- + @property + def y0shift(self): + """ + Shifts `y0` away from the center of the category when `yref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'y0shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["y0shift"] + + @y0shift.setter + def y0shift(self, val): + self["y0shift"] = val + # y1 # -- @property @@ -765,6 +838,29 @@ def y1(self): def y1(self, val): self["y1"] = val + # y1shift + # ------- + @property + def y1shift(self): + """ + Shifts `y1` away from the center of the category when `yref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'y1shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["y1shift"] + + @y1shift.setter + def y1shift(self, val): + self["y1shift"] = val + # yanchor # ------- @property @@ -971,9 +1067,19 @@ def _prop_descriptions(self): x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on the x axis to @@ -1008,9 +1114,19 @@ def _prop_descriptions(self): y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on the y axis to @@ -1067,12 +1183,16 @@ def __init__( type=None, visible=None, x0=None, + x0shift=None, x1=None, + x1shift=None, xanchor=None, xref=None, xsizemode=None, y0=None, + y0shift=None, y1=None, + y1shift=None, yanchor=None, yref=None, ysizemode=None, @@ -1203,9 +1323,19 @@ def __init__( x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on the x axis to @@ -1240,9 +1370,19 @@ def __init__( y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on the y axis to @@ -1385,10 +1525,18 @@ def __init__( _v = x0 if x0 is not None else _v if _v is not None: self["x0"] = _v + _v = arg.pop("x0shift", None) + _v = x0shift if x0shift is not None else _v + if _v is not None: + self["x0shift"] = _v _v = arg.pop("x1", None) _v = x1 if x1 is not None else _v if _v is not None: self["x1"] = _v + _v = arg.pop("x1shift", None) + _v = x1shift if x1shift is not None else _v + if _v is not None: + self["x1shift"] = _v _v = arg.pop("xanchor", None) _v = xanchor if xanchor is not None else _v if _v is not None: @@ -1405,10 +1553,18 @@ def __init__( _v = y0 if y0 is not None else _v if _v is not None: self["y0"] = _v + _v = arg.pop("y0shift", None) + _v = y0shift if y0shift is not None else _v + if _v is not None: + self["y0shift"] = _v _v = arg.pop("y1", None) _v = y1 if y1 is not None else _v if _v is not None: self["y1"] = _v + _v = arg.pop("y1shift", None) + _v = y1shift if y1shift is not None else _v + if _v is not None: + self["y1shift"] = _v _v = arg.pop("yanchor", None) _v = yanchor if yanchor is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_slider.py b/packages/python/plotly/plotly/graph_objs/layout/_slider.py index bb5a89ea29..b341f45efc 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_slider.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_slider.py @@ -324,7 +324,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/_title.py b/packages/python/plotly/plotly/graph_objs/layout/_title.py index ab71e0cb77..ccdb23c5db 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_title.py @@ -12,6 +12,7 @@ class Title(_BaseLayoutHierarchyType): "automargin", "font", "pad", + "subtitle", "text", "x", "xanchor", @@ -82,7 +83,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -164,6 +165,34 @@ def pad(self): def pad(self, val): self["pad"] = val + # subtitle + # -------- + @property + def subtitle(self): + """ + The 'subtitle' property is an instance of Subtitle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.title.Subtitle` + - A dict of string/value properties that will be passed + to the Subtitle constructor + + Supported dict properties: + + font + Sets the subtitle font. + text + Sets the plot's subtitle. + + Returns + ------- + plotly.graph_objs.layout.title.Subtitle + """ + return self["subtitle"] + + @subtitle.setter + def subtitle(self, val): + self["subtitle"] = val + # text # ---- @property @@ -359,6 +388,9 @@ def _prop_descriptions(self): applies if `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is "middle*/*center". + subtitle + :class:`plotly.graph_objects.layout.title.Subtitle` + instance or dict with compatible properties text Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be @@ -402,6 +434,7 @@ def __init__( automargin=None, font=None, pad=None, + subtitle=None, text=None, x=None, xanchor=None, @@ -444,6 +477,9 @@ def __init__( applies if `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is "middle*/*center". + subtitle + :class:`plotly.graph_objects.layout.title.Subtitle` + instance or dict with compatible properties text Sets the plot's title. Note that before the existence of `title.text`, the title's contents used to be @@ -525,6 +561,10 @@ def __init__( _v = pad if pad is not None else _v if _v is not None: self["pad"] = _v + _v = arg.pop("subtitle", None) + _v = subtitle if subtitle is not None else _v + if _v is not None: + self["subtitle"] = _v _v = arg.pop("text", None) _v = text if text is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py b/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py index 49254701b1..b12c165844 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_updatemenu.py @@ -348,7 +348,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py index 4afa07f94e..dfd177e809 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_xaxis.py @@ -76,9 +76,13 @@ class XAxis(_BaseLayoutHierarchyType): "tickformat", "tickformatstopdefaults", "tickformatstops", + "ticklabelindex", + "ticklabelindexsrc", "ticklabelmode", "ticklabeloverflow", "ticklabelposition", + "ticklabelshift", + "ticklabelstandoff", "ticklabelstep", "ticklen", "tickmode", @@ -361,8 +365,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -370,7 +374,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -2144,7 +2149,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -2298,6 +2303,55 @@ def tickformatstopdefaults(self): def tickformatstopdefaults(self, val): self["tickformatstopdefaults"] = val + # ticklabelindex + # -------------- + @property + def ticklabelindex(self): + """ + Only for axes with `type` "date" or "linear". Instead of + drawing the major tick label, draw the label for the minor tick + that is n positions away from the major tick. E.g. to always + draw the label for the minor tick before each major tick, + choose `ticklabelindex` -1. This is useful for date axes with + `ticklabelmode` "period" if you want to label the period that + ends with each major tick instead of the period that begins + there. + + The 'ticklabelindex' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + int|numpy.ndarray + """ + return self["ticklabelindex"] + + @ticklabelindex.setter + def ticklabelindex(self, val): + self["ticklabelindex"] = val + + # ticklabelindexsrc + # ----------------- + @property + def ticklabelindexsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + + The 'ticklabelindexsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticklabelindexsrc"] + + @ticklabelindexsrc.setter + def ticklabelindexsrc(self, val): + self["ticklabelindexsrc"] = val + # ticklabelmode # ------------- @property @@ -2377,6 +2431,56 @@ def ticklabelposition(self): def ticklabelposition(self, val): self["ticklabelposition"] = val + # ticklabelshift + # -------------- + @property + def ticklabelshift(self): + """ + Shifts the tick labels by the specified number of pixels in + parallel to the axis. Positive values move the labels in the + positive direction of the axis. + + The 'ticklabelshift' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelshift"] + + @ticklabelshift.setter + def ticklabelshift(self, val): + self["ticklabelshift"] = val + + # ticklabelstandoff + # ----------------- + @property + def ticklabelstandoff(self): + """ + Sets the standoff distance (in px) between the axis tick labels + and their default position. A positive `ticklabelstandoff` + moves the labels farther away from the plot area if + `ticklabelposition` is "outside", and deeper into the plot area + if `ticklabelposition` is "inside". A negative + `ticklabelstandoff` works in the opposite direction, moving + outside ticks towards the plot area and inside ticks towards + the outside. If the negative value is large enough, inside + ticks can even end up outside and vice versa. + + The 'ticklabelstandoff' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelstandoff"] + + @ticklabelstandoff.setter + def ticklabelstandoff(self, val): + self["ticklabelstandoff"] = val + # ticklabelstep # ------------- @property @@ -2723,7 +2827,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -2996,7 +3100,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -3314,6 +3419,19 @@ def _prop_descriptions(self): layout.template.layout.xaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3337,6 +3455,21 @@ def _prop_descriptions(self): "boundaries". When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means @@ -3491,9 +3624,13 @@ def __init__( tickformat=None, tickformatstops=None, tickformatstopdefaults=None, + ticklabelindex=None, + ticklabelindexsrc=None, ticklabelmode=None, ticklabeloverflow=None, ticklabelposition=None, + ticklabelshift=None, + ticklabelstandoff=None, ticklabelstep=None, ticklen=None, tickmode=None, @@ -3585,7 +3722,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -3903,6 +4041,19 @@ def __init__( layout.template.layout.xaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3926,6 +4077,21 @@ def __init__( "boundaries". When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means @@ -4308,6 +4474,14 @@ def __init__( _v = tickformatstopdefaults if tickformatstopdefaults is not None else _v if _v is not None: self["tickformatstopdefaults"] = _v + _v = arg.pop("ticklabelindex", None) + _v = ticklabelindex if ticklabelindex is not None else _v + if _v is not None: + self["ticklabelindex"] = _v + _v = arg.pop("ticklabelindexsrc", None) + _v = ticklabelindexsrc if ticklabelindexsrc is not None else _v + if _v is not None: + self["ticklabelindexsrc"] = _v _v = arg.pop("ticklabelmode", None) _v = ticklabelmode if ticklabelmode is not None else _v if _v is not None: @@ -4320,6 +4494,14 @@ def __init__( _v = ticklabelposition if ticklabelposition is not None else _v if _v is not None: self["ticklabelposition"] = _v + _v = arg.pop("ticklabelshift", None) + _v = ticklabelshift if ticklabelshift is not None else _v + if _v is not None: + self["ticklabelshift"] = _v + _v = arg.pop("ticklabelstandoff", None) + _v = ticklabelstandoff if ticklabelstandoff is not None else _v + if _v is not None: + self["ticklabelstandoff"] = _v _v = arg.pop("ticklabelstep", None) _v = ticklabelstep if ticklabelstep is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py index 9472d628b7..d39a51ab31 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/_yaxis.py @@ -76,9 +76,13 @@ class YAxis(_BaseLayoutHierarchyType): "tickformat", "tickformatstopdefaults", "tickformatstops", + "ticklabelindex", + "ticklabelindexsrc", "ticklabelmode", "ticklabeloverflow", "ticklabelposition", + "ticklabelshift", + "ticklabelstandoff", "ticklabelstep", "ticklen", "tickmode", @@ -385,8 +389,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -394,7 +398,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -2067,7 +2072,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -2221,6 +2226,55 @@ def tickformatstopdefaults(self): def tickformatstopdefaults(self, val): self["tickformatstopdefaults"] = val + # ticklabelindex + # -------------- + @property + def ticklabelindex(self): + """ + Only for axes with `type` "date" or "linear". Instead of + drawing the major tick label, draw the label for the minor tick + that is n positions away from the major tick. E.g. to always + draw the label for the minor tick before each major tick, + choose `ticklabelindex` -1. This is useful for date axes with + `ticklabelmode` "period" if you want to label the period that + ends with each major tick instead of the period that begins + there. + + The 'ticklabelindex' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + int|numpy.ndarray + """ + return self["ticklabelindex"] + + @ticklabelindex.setter + def ticklabelindex(self, val): + self["ticklabelindex"] = val + + # ticklabelindexsrc + # ----------------- + @property + def ticklabelindexsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + + The 'ticklabelindexsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticklabelindexsrc"] + + @ticklabelindexsrc.setter + def ticklabelindexsrc(self, val): + self["ticklabelindexsrc"] = val + # ticklabelmode # ------------- @property @@ -2300,6 +2354,56 @@ def ticklabelposition(self): def ticklabelposition(self, val): self["ticklabelposition"] = val + # ticklabelshift + # -------------- + @property + def ticklabelshift(self): + """ + Shifts the tick labels by the specified number of pixels in + parallel to the axis. Positive values move the labels in the + positive direction of the axis. + + The 'ticklabelshift' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelshift"] + + @ticklabelshift.setter + def ticklabelshift(self, val): + self["ticklabelshift"] = val + + # ticklabelstandoff + # ----------------- + @property + def ticklabelstandoff(self): + """ + Sets the standoff distance (in px) between the axis tick labels + and their default position. A positive `ticklabelstandoff` + moves the labels farther away from the plot area if + `ticklabelposition` is "outside", and deeper into the plot area + if `ticklabelposition` is "inside". A negative + `ticklabelstandoff` works in the opposite direction, moving + outside ticks towards the plot area and inside ticks towards + the outside. If the negative value is large enough, inside + ticks can even end up outside and vice versa. + + The 'ticklabelstandoff' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelstandoff"] + + @ticklabelstandoff.setter + def ticklabelstandoff(self, val): + self["ticklabelstandoff"] = val + # ticklabelstep # ------------- @property @@ -2646,7 +2750,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -2926,7 +3030,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -3247,6 +3352,19 @@ def _prop_descriptions(self): layout.template.layout.yaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3270,6 +3388,21 @@ def _prop_descriptions(self): "boundaries". When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means @@ -3424,9 +3557,13 @@ def __init__( tickformat=None, tickformatstops=None, tickformatstopdefaults=None, + ticklabelindex=None, + ticklabelindexsrc=None, ticklabelmode=None, ticklabeloverflow=None, ticklabelposition=None, + ticklabelshift=None, + ticklabelstandoff=None, ticklabelstep=None, ticklen=None, tickmode=None, @@ -3525,7 +3662,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -3846,6 +3984,19 @@ def __init__( layout.template.layout.yaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid lines. Only has an @@ -3869,6 +4020,21 @@ def __init__( "boundaries". When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means @@ -4251,6 +4417,14 @@ def __init__( _v = tickformatstopdefaults if tickformatstopdefaults is not None else _v if _v is not None: self["tickformatstopdefaults"] = _v + _v = arg.pop("ticklabelindex", None) + _v = ticklabelindex if ticklabelindex is not None else _v + if _v is not None: + self["ticklabelindex"] = _v + _v = arg.pop("ticklabelindexsrc", None) + _v = ticklabelindexsrc if ticklabelindexsrc is not None else _v + if _v is not None: + self["ticklabelindexsrc"] = _v _v = arg.pop("ticklabelmode", None) _v = ticklabelmode if ticklabelmode is not None else _v if _v is not None: @@ -4263,6 +4437,14 @@ def __init__( _v = ticklabelposition if ticklabelposition is not None else _v if _v is not None: self["ticklabelposition"] = _v + _v = arg.pop("ticklabelshift", None) + _v = ticklabelshift if ticklabelshift is not None else _v + if _v is not None: + self["ticklabelshift"] = _v + _v = arg.pop("ticklabelstandoff", None) + _v = ticklabelstandoff if ticklabelstandoff is not None else _v + if _v is not None: + self["ticklabelstandoff"] = _v _v = arg.pop("ticklabelstep", None) _v = ticklabelstep if ticklabelstep is not None else _v if _v is not None: diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py index fd26e5de08..bc21715b61 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py index 968baafa0b..bdc4599445 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/_hoverlabel.py @@ -163,7 +163,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py index 06808730a3..81a13e5b65 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/annotation/hoverlabel/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py index d7bda1d76a..13bd719818 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py index 4969f67bf4..b202645444 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py index 4f97177505..1133de8e55 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py index 7b16bc8665..3d454bec84 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py index 0012d3bb11..eb67ffe6f7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py index 4799a0456c..648b74eeb5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py index 388af7c23c..ce4f319cee 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py index e60eab2d0d..45a5cdf15a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_grouptitlefont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py b/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py index 63c28e1f4d..5103c0a7e5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py index 50e4a53a17..dffba334e1 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/legend/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/_symbol.py b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/_symbol.py index 1598bb824d..5545054312 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/_symbol.py +++ b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/_symbol.py @@ -132,7 +132,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py index f0459f6ebf..9902f6b822 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py @@ -81,9 +81,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -148,6 +148,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -177,7 +178,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". size @@ -225,7 +226,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". size diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py index d46ad8767c..a4af9fcb2a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/_label.py @@ -49,7 +49,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py index a59f940586..d843bc2bae 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py index 1f99c44cee..91a86ef4cf 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/label/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py index 047baffc8b..83acb231a7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py b/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py index 314cc6691e..25ce58b1a5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/_angularaxis.py @@ -145,8 +145,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -154,7 +154,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -985,7 +986,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1479,7 +1480,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -1796,7 +1798,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py index 39f030c84c..fda06e9b1a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/_radialaxis.py @@ -304,8 +304,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -313,7 +313,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -1170,7 +1171,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1631,7 +1632,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1801,7 +1802,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -2177,7 +2179,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py index 877b919939..8254cd3aed 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py index a3f7be4f49..c5b5f6fa4e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py index 2306bda071..26de067f3f 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py index 21b300c5bf..46bed53434 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/polar/radialaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py index 45db696073..be9baaf5a1 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_annotation.py @@ -474,7 +474,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -788,7 +788,7 @@ def text(self): Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). - Tags , , are also supported. + Tags , , , , are also supported. The 'text' property is a string and must be specified as: - A string @@ -1159,8 +1159,8 @@ def _prop_descriptions(self): Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. @@ -1368,8 +1368,8 @@ def __init__( Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks - (). Tags , , - are also supported. + (). Tags , , , , + are also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py index 77c1b20eb7..6a259fa6ea 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_xaxis.py @@ -315,8 +315,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -324,7 +324,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -1294,7 +1295,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1729,7 +1730,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1970,7 +1971,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -2344,7 +2346,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py index f200b3e20c..2c3bee82f5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_yaxis.py @@ -315,8 +315,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -324,7 +324,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -1294,7 +1295,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1729,7 +1730,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1970,7 +1971,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -2344,7 +2346,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py index 090d3f978f..993c20d5ab 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/_zaxis.py @@ -315,8 +315,8 @@ def categoryorder(self): `categoryarray`. Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be - determined by the min, max, sum, mean or median of all the - values. + determined by the min, max, sum, mean, geometric mean or median + of all the values. The 'categoryorder' property is an enumeration that may be specified as: - One of the following enumeration values: @@ -324,7 +324,8 @@ def categoryorder(self): 'array', 'total ascending', 'total descending', 'min ascending', 'min descending', 'max ascending', 'max descending', 'sum ascending', 'sum descending', 'mean - ascending', 'mean descending', 'median ascending', 'median + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median descending'] Returns @@ -1294,7 +1295,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1729,7 +1730,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1970,7 +1971,8 @@ def _prop_descriptions(self): to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid @@ -2344,7 +2346,8 @@ def __init__( to *total ascending* or *total descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the - min, max, sum, mean or median of all the values. + min, max, sum, mean, geometric mean or median of all + the values. color Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py index 717cf33441..b7708d1c41 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py index 2f00808fef..38a130745a 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py @@ -163,7 +163,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py index 1acc9edb16..e90d539336 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py index 8879e832f0..3dd73b17ab 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py index 07ab7e611f..a902b20930 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py index d376d952d5..2c9eea71d3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/xaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py index ccf2bee1cd..268c0432ab 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py index 1631558bfe..5bd68f50ae 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py index 0523c358fa..159a7471d1 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/yaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py index 65a23f77bc..532537a387 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py index 21cda8a6b2..d6223be6f4 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py index 4d36112a8a..feefcb6b09 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/scene/zaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py b/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py index f6dec6f6db..580b0eb627 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/_label.py @@ -49,7 +49,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py index 7c3e60abc2..d9be087437 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py b/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py index dc62e91014..19d7cd5103 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/label/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py index 7210987626..0e35784692 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py b/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py index b8c72fabc2..61cdc95aba 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/_currentvalue.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py b/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py index f104a75107..f727d35bf6 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py b/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py index a8e5734481..761196a2b3 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/slider/currentvalue/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py b/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py index e2cb20a9a8..7a666c1e53 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/_imaginaryaxis.py @@ -560,7 +560,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py b/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py index 23ef86c513..3aa26e70a5 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/_realaxis.py @@ -608,7 +608,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py index b27bf2661b..95278b10cf 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py index dd929d26e4..c3e38dfbcb 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/smith/realaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py index c59a57e2f4..d84e7f75e6 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_aaxis.py @@ -802,7 +802,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1263,7 +1263,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py index 01e8b8831e..41373dc729 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_baxis.py @@ -802,7 +802,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1263,7 +1263,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py index ee1ccaccf0..d040d9aa20 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/_caxis.py @@ -802,7 +802,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1263,7 +1263,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py index 6f23808fbc..d8a8c8459d 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py index 90708031ce..8a0573637c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py index 486733ad36..e6f6e44986 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/aaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py index 84db13d869..c958d1f66c 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py index aa96240904..6a846c6f2f 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py index 46b02049ec..b33b421166 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/baxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py index 54bad33d44..ec1c27272b 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py index cf92b7bce0..676b37f0e0 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py index 6c69ec8b91..220c468026 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/ternary/caxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/__init__.py b/packages/python/plotly/plotly/graph_objs/layout/title/__init__.py index c681ee7a13..d37379b99d 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/title/__init__.py +++ b/packages/python/plotly/plotly/graph_objs/layout/title/__init__.py @@ -4,9 +4,11 @@ if sys.version_info < (3, 7) or TYPE_CHECKING: from ._font import Font from ._pad import Pad + from ._subtitle import Subtitle + from . import subtitle else: from _plotly_utils.importers import relative_import __all__, __getattr__, __dir__ = relative_import( - __name__, [], ["._font.Font", "._pad.Pad"] + __name__, [".subtitle"], ["._font.Font", "._pad.Pad", "._subtitle.Subtitle"] ) diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py index 9cfc0aff53..9e76fdd2e7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/_subtitle.py b/packages/python/plotly/plotly/graph_objs/layout/title/_subtitle.py new file mode 100644 index 0000000000..24f0428798 --- /dev/null +++ b/packages/python/plotly/plotly/graph_objs/layout/title/_subtitle.py @@ -0,0 +1,177 @@ +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Subtitle(_BaseLayoutHierarchyType): + + # class properties + # -------------------- + _parent_path_str = "layout.title" + _path_str = "layout.title.subtitle" + _valid_props = {"font", "text"} + + # font + # ---- + @property + def font(self): + """ + Sets the subtitle font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.title.subtitle.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Supported dict properties: + + color + + family + HTML font family - the typeface that will be + applied by the web browser. The web browser + will only be able to apply a font if it is + available on the system which it operates. + Provide multiple font families, separated by + commas, to indicate the preference in which to + apply fonts if they aren't available on the + system. The Chart Studio Cloud (at + https://chart-studio.plotly.com or on-premise) + generates images on a server, where only a + select number of fonts are installed and + supported. These include "Arial", "Balto", + "Courier New", "Droid Sans", "Droid Serif", + "Droid Sans Mono", "Gravitas One", "Old + Standard TT", "Open Sans", "Overpass", "PT Sans + Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + size + + style + Sets whether a font should be styled with a + normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + plotly.graph_objs.layout.title.subtitle.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + # text + # ---- + @property + def text(self): + """ + Sets the plot's subtitle. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + # Self properties description + # --------------------------- + @property + def _prop_descriptions(self): + return """\ + font + Sets the subtitle font. + text + Sets the plot's subtitle. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Subtitle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.Subtitle` + font + Sets the subtitle font. + text + Sets the plot's subtitle. + + Returns + ------- + Subtitle + """ + super(Subtitle, self).__init__("subtitle") + + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + # Validate arg + # ------------ + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError( + """\ +The first argument to the plotly.graph_objs.layout.title.Subtitle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.Subtitle`""" + ) + + # Handle skip_invalid + # ------------------- + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + # Populate data dict with properties + # ---------------------------------- + _v = arg.pop("font", None) + _v = font if font is not None else _v + if _v is not None: + self["font"] = _v + _v = arg.pop("text", None) + _v = text if text is not None else _v + if _v is not None: + self["text"] = _v + + # Process unknown kwargs + # ---------------------- + self._process_kwargs(**dict(arg, **kwargs)) + + # Reset skip_invalid + # ------------------ + self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/__init__.py b/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/__init__.py new file mode 100644 index 0000000000..2b474e3e06 --- /dev/null +++ b/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if sys.version_info < (3, 7) or TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/_font.py b/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/_font.py new file mode 100644 index 0000000000..711b816a06 --- /dev/null +++ b/packages/python/plotly/plotly/graph_objs/layout/title/subtitle/_font.py @@ -0,0 +1,452 @@ +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + + # class properties + # -------------------- + _parent_path_str = "layout.title.subtitle" + _path_str = "layout.title.subtitle.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + # color + # ----- + @property + def color(self): + """ + The 'color' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: + aliceblue, antiquewhite, aqua, aquamarine, azure, + beige, bisque, black, blanchedalmond, blue, + blueviolet, brown, burlywood, cadetblue, + chartreuse, chocolate, coral, cornflowerblue, + cornsilk, crimson, cyan, darkblue, darkcyan, + darkgoldenrod, darkgray, darkgrey, darkgreen, + darkkhaki, darkmagenta, darkolivegreen, darkorange, + darkorchid, darkred, darksalmon, darkseagreen, + darkslateblue, darkslategray, darkslategrey, + darkturquoise, darkviolet, deeppink, deepskyblue, + dimgray, dimgrey, dodgerblue, firebrick, + floralwhite, forestgreen, fuchsia, gainsboro, + ghostwhite, gold, goldenrod, gray, grey, green, + greenyellow, honeydew, hotpink, indianred, indigo, + ivory, khaki, lavender, lavenderblush, lawngreen, + lemonchiffon, lightblue, lightcoral, lightcyan, + lightgoldenrodyellow, lightgray, lightgrey, + lightgreen, lightpink, lightsalmon, lightseagreen, + lightskyblue, lightslategray, lightslategrey, + lightsteelblue, lightyellow, lime, limegreen, + linen, magenta, maroon, mediumaquamarine, + mediumblue, mediumorchid, mediumpurple, + mediumseagreen, mediumslateblue, mediumspringgreen, + mediumturquoise, mediumvioletred, midnightblue, + mintcream, mistyrose, moccasin, navajowhite, navy, + oldlace, olive, olivedrab, orange, orangered, + orchid, palegoldenrod, palegreen, paleturquoise, + palevioletred, papayawhip, peachpuff, peru, pink, + plum, powderblue, purple, red, rosybrown, + royalblue, rebeccapurple, saddlebrown, salmon, + sandybrown, seagreen, seashell, sienna, silver, + skyblue, slateblue, slategray, slategrey, snow, + springgreen, steelblue, tan, teal, thistle, tomato, + turquoise, violet, wheat, white, whitesmoke, + yellow, yellowgreen + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + # family + # ------ + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser will only be able to apply a font if + it is available on the system which it operates. Provide + multiple font families, separated by commas, to indicate the + preference in which to apply fonts if they aren't available on + the system. The Chart Studio Cloud (at https://chart- + studio.plotly.com or on-premise) generates images on a server, + where only a select number of fonts are installed and + supported. These include "Arial", "Balto", "Courier New", + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + # lineposition + # ------------ + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + # shadow + # ------ + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + # size + # ---- + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + # style + # ----- + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + # textcase + # -------- + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + # variant + # ------- + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + # weight + # ------ + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + # Self properties description + # --------------------------- + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser will only be able to + apply a font if it is available on the system which it + operates. Provide multiple font families, separated by + commas, to indicate the preference in which to apply + fonts if they aren't available on the system. The Chart + Studio Cloud (at https://chart-studio.plotly.com or on- + premise) generates images on a server, where only a + select number of fonts are installed and supported. + These include "Arial", "Balto", "Courier New", "Droid + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas + One", "Old Standard TT", "Open Sans", "Overpass", "PT + Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the subtitle font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.subtitle.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser will only be able to + apply a font if it is available on the system which it + operates. Provide multiple font families, separated by + commas, to indicate the preference in which to apply + fonts if they aren't available on the system. The Chart + Studio Cloud (at https://chart-studio.plotly.com or on- + premise) generates images on a server, where only a + select number of fonts are installed and supported. + These include "Arial", "Balto", "Courier New", "Droid + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas + One", "Old Standard TT", "Open Sans", "Overpass", "PT + Sans Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super(Font, self).__init__("font") + + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + # Validate arg + # ------------ + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError( + """\ +The first argument to the plotly.graph_objs.layout.title.subtitle.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.subtitle.Font`""" + ) + + # Handle skip_invalid + # ------------------- + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + # Populate data dict with properties + # ---------------------------------- + _v = arg.pop("color", None) + _v = color if color is not None else _v + if _v is not None: + self["color"] = _v + _v = arg.pop("family", None) + _v = family if family is not None else _v + if _v is not None: + self["family"] = _v + _v = arg.pop("lineposition", None) + _v = lineposition if lineposition is not None else _v + if _v is not None: + self["lineposition"] = _v + _v = arg.pop("shadow", None) + _v = shadow if shadow is not None else _v + if _v is not None: + self["shadow"] = _v + _v = arg.pop("size", None) + _v = size if size is not None else _v + if _v is not None: + self["size"] = _v + _v = arg.pop("style", None) + _v = style if style is not None else _v + if _v is not None: + self["style"] = _v + _v = arg.pop("textcase", None) + _v = textcase if textcase is not None else _v + if _v is not None: + self["textcase"] = _v + _v = arg.pop("variant", None) + _v = variant if variant is not None else _v + if _v is not None: + self["variant"] = _v + _v = arg.pop("weight", None) + _v = weight if weight is not None else _v + if _v is not None: + self["weight"] = _v + + # Process unknown kwargs + # ---------------------- + self._process_kwargs(**dict(arg, **kwargs)) + + # Reset skip_invalid + # ------------------ + self._skip_invalid = False diff --git a/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py b/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py index d0c65c1cc0..862e5738b9 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/updatemenu/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py index 8061a1b0dc..472fd80915 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_rangeselector.py @@ -351,7 +351,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py index b001af5e97..77944969fe 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py index cf89a885c7..c8c996e981 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py index d5782a67d6..60fe186eea 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/rangeselector/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py index c213b4b859..2712dcfa70 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/xaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py index e92cbb1b94..9b851ae09e 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py index 9fcd44cfeb..4edac01a59 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py index 65d0254497..88c4f637b7 100644 --- a/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/layout/yaxis/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py index a8deba7921..f59676c198 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py index ba55b49315..dfeab519dd 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py index 863b0e068b..d4bf7d207e 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py index 6b36fb005b..aba97dec3d 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py index c5b266619d..6b9ceac0d9 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py index 5e1a928776..c476ceab37 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py index 9c8f5a016c..42d07b7c57 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py index f52fe8a411..8c6d3e267a 100644 --- a/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/mesh3d/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py index 5da0e5c740..c28c687109 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/_hoverlabel.py @@ -259,7 +259,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py index 624369bd60..9d81684613 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py index 63ce4eaec6..da3d4b93a8 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py index 69a5eb47d2..2e02263e14 100644 --- a/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/ohlc/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py b/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py index d66c7c7268..a701d114d2 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_labelfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py index 52cf58d978..bd0472960e 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py index b7a20e6ca9..b017ce51e6 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py index 8823b04f40..99d15aa1ad 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py index 9162fa7140..23b9323433 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py index 3ce6634dee..e4bbb61a59 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py index 701c33bf98..1380bb7d7b 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py index 9e65bae872..3edba42e27 100644 --- a/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcats/line/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py index 8b8b3302f6..a8304d126c 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_labelfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py index 25e7d8f882..f667d43b06 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py index 2eee629bf4..d0dcb16b33 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_rangefont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py index 62df262559..122825fb05 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py index 2d35393c3e..43406e96f3 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py index 39e1c2188a..35f044caea 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py index e207ee2b5d..9214f96fc0 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py index 831bc294e2..a475dd9bd6 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py index cfd30a1f7e..566e49e664 100644 --- a/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/parcoords/line/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py index 9b22eb6227..6eea4b083d 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py index 8c9e9e5dab..405e49af4a 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py index b788597b1a..6e519996c6 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py index fda66ddd44..2b989c8eee 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/_textfont.py b/packages/python/plotly/plotly/graph_objs/pie/_textfont.py index da6630e45b..dd100565b6 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -583,7 +584,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/_title.py b/packages/python/plotly/plotly/graph_objs/pie/_title.py index b68cdef1be..97e6dc0c50 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/_title.py +++ b/packages/python/plotly/plotly/graph_objs/pie/_title.py @@ -44,7 +44,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py index 8696296a38..4dbd06c8e3 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py index 681676397e..f06c6ce659 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py index 694eefa94a..cd35a3c2f0 100644 --- a/packages/python/plotly/plotly/graph_objs/pie/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pie/title/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -585,7 +586,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py index 01c6163495..c0bd0c0b27 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py index 86969670c1..64b2c9c258 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py index eef51e5901..ca4e875203 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py index 3ec50bb8c1..f0bc3901dd 100644 --- a/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/pointcloud/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py index 19d1e7e280..d83a32f20a 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py index acba1d310f..244ff4aece 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py b/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py index 8b111a5e43..1bb9d7fd84 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/_textfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py index ca82c824e3..502fe432bc 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py index e796fe5a53..34d067b55f 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py index 4588691c7d..8a63e71700 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/link/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py index d3dad62287..b9fb526bee 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/link/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py index 6d1fb1c0ec..bc10f646bd 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/node/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py index d7d334327a..25c367c4d3 100644 --- a/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sankey/node/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py index 83785eaa61..226227c4fa 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py index 73f7822313..3616b9bf6f 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py index 752b2e392b..543761a304 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py index 21f49d301e..4550c310d9 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py index 291c259dbb..a7c0904326 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py index c0b12c4751..df7d488e46 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py index 8a80d158bc..34e6f9d5e3 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py index f0a6315982..aeff9e6faf 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py index e0527c2161..b2851a50d6 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py index 542ea30778..db24a5c766 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py index 66606d41a1..48507d5d80 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py index 5b3c3948b3..6e931a0181 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/_textfont.py @@ -115,9 +115,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -287,6 +287,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -340,7 +341,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -413,7 +414,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py index 1f89e06ffc..a3dd6d32e3 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py index ba7efdccec..dc518d92cb 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py index 2d4e17ec1d..591ed43fdc 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py index 46170407c3..8515f8dbef 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py index 62b48c6115..511faf93e2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py index fb37985317..009d3d5ae4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/line/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py index 42cef17cfd..2ffe9dfdf5 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py index a89d556a39..725d247cb5 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py index a557dbafa7..ce23f6aca9 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py index e045d68a32..cddf0b6feb 100644 --- a/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatter3d/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py index 153e93d355..d8a228b5bf 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py index fd7a8cd6c7..0ef210fb5c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py index eff76aba36..480d5806bb 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py index 9c8d809b43..1f5f52ddba 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py index ac99cea62d..0f72cb4373 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py index abebd0dab7..7ce42932ce 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py index 93b0c76aad..e21f9eba0d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py index 7f1c091484..71bddd6f2b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py index f3a1e9389a..b6da2adefc 100644 --- a/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattercarpet/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py index 213c5cace8..50bc99f007 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py index 9a66fb4410..128be95b35 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py index 7069ede202..4c35690599 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py index 453c99a97c..c3e1ef39d0 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py index 31252c8c99..0de9e4179c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py index bd0880f2a7..a5c2f599e5 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py index e4b3b3eb57..ab7398f6c3 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py index 02acc34ea0..f4ed9b6efe 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py index 88c0acee47..ca8eaa2807 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergeo/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py index 0b95c7ac55..84dd7fdc41 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py index ff7ff0eb7d..345973ad4c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattergl/_textfont.py index 2b0ed3617f..243984489e 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/_textfont.py @@ -115,9 +115,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -340,7 +340,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -413,7 +413,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py index 63d6fbcf67..49fddb0c4c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py index f2e3c1e8ec..c491f7f013 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py index 3ebf41a43b..d25d0f3701 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py index c02ab0e3d3..aeca1b6fce 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py index 2f0a0b4be9..fb1868c867 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py index 1ec3e84cdf..fe1c8e6fb9 100644 --- a/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattergl/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py index 1d014a278d..56376844a0 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py index 9d83c18dc5..9468d3e87d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py index cedf1109c4..76e9548644 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/_textfont.py @@ -81,9 +81,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -148,6 +148,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -177,7 +178,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". size @@ -225,7 +226,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". size diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py index 6d9b841cab..8fda3dd0c0 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py index 47e36ece9c..bc6e44c4da 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py index ed428af482..0adbdae240 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py index f207d5434f..903e0b3c9b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py index 703f4b4029..23ce3e4267 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py index a87b029a90..3d4dc33e7b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattermapbox/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py index baf40782d2..9298560b41 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py index aa9e9fff7f..2383375ac0 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py index 13afd2bba4..d120f4de43 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py index 1728cc9916..2e9f6fdbdf 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py index b87effca14..94a44b838f 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py index d4316bdd46..5bec179412 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py index 663487c557..759310f638 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py index f20b4c08a5..35d3eb25da 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py index 7bb1cf55b1..c396a410bb 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolar/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py index 2d63006962..8785f555d4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py index c98647f37c..a2519c9a45 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_textfont.py index deecd43828..94dabaa4a2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/_textfont.py @@ -115,9 +115,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -340,7 +340,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -413,7 +413,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py index b67ac7aad4..2bb67d5d53 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py index ab23149ee0..c8ef040bdc 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py index 3d37facdb3..57f8ddcf5b 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py index 8b086a31c4..cac486d95d 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py index f764566f15..771ea2c7b2 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py index b89c2c2143..6e3108fb72 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterpolargl/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py index e8f2146834..28e0674fdb 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py index dce5d39fa7..fcb0392a7c 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py b/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py index e3b37583ba..585ec66e3d 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py index 4336fc433f..2a71999436 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py index b7812436aa..29bc39f98b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py index 87029f5ba4..b41fbb65cd 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py index 79b3b33285..9d22fc1a4e 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py index 1a3819f9a8..87d715ae9b 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py index d45586732c..51f71654af 100644 --- a/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scattersmith/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py index 3f752ff5c2..00ac960324 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py index 51558637bf..71ceaf3c50 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py b/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py index c024812114..b4c9e896d5 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py index 2ce20aadd1..30b26aa4ba 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py index 428177d262..6880a3857b 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py index 72c35d9bec..8e803b2b57 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py index e8e6eaf83c..5a07c4f172 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py index 2ffa3d9803..1136d920f4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py index 0dc83a8573..73c733dfb4 100644 --- a/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/scatterternary/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py index ea33f64d27..6730d8e3b2 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/splom/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py index bf2a9e4f7e..ba249acc8c 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/splom/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py index abc6c4b846..32c53ae9b3 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py index 768874b73a..42cdd4ebc5 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py index 66784bc38c..9916848ca7 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py index 3664e0b2cd..f2de99543b 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py index 9c12931a27..fca0984ed3 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py index c19b57804a..6fa0f047eb 100644 --- a/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/splom/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py index a1219490f0..ff1cd8b406 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1289,7 +1289,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py index 14367068c6..8b643599ea 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py index 3dc4535efd..f8e894a8ae 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py index e04d3b1662..0f597fb9c9 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py index 5162d6dcea..6bb9aaaee4 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py index 54f710a4a7..1014a45438 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py index d8675eb85a..3d4540b1d1 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py index ef81cb0f60..fd884b5556 100644 --- a/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/streamtube/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py index 1edbb9c25a..1cd3581b97 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py index a1a681640e..4a80322592 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py index 96cbda1278..9baa8cd8da 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py index 7cdeba5039..dfb0670a2f 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -588,7 +589,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py index f31785cd29..1321419a24 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py index b33927eabd..a28575d99d 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py index 14bfa15d03..af15a8c9fe 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py index 9a6e590e80..673522f963 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py index edfbd033fb..5bcfe54bb7 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py index 1155f3e8a4..c538a1ae62 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py index d71f006423..e706c55849 100644 --- a/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/sunburst/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py index b82e7bf5c0..33b2653cb0 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py index e3a6fb70d0..c245fe36b9 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py index 5c992abaa3..d8fb5dcc8a 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/surface/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py index 2a3351da0b..be029b14e8 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py index 089dcc06ce..796c535a8a 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py index 74d305bf63..8f35bf9fbb 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py index c96b3c6409..59a9809f1a 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py index 67f6b7cd4c..b79a937969 100644 --- a/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/surface/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/table/_cells.py b/packages/python/plotly/plotly/graph_objs/table/_cells.py index deb2691937..812f9dda45 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_cells.py +++ b/packages/python/plotly/plotly/graph_objs/table/_cells.py @@ -132,7 +132,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/table/_header.py b/packages/python/plotly/plotly/graph_objs/table/_header.py index 26a6b1c076..6ba73d3b9f 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_header.py +++ b/packages/python/plotly/plotly/graph_objs/table/_header.py @@ -132,7 +132,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py index cc01900eb4..5ef832aa68 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/table/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py index edd0fdc0dd..150d30abb7 100644 --- a/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/table/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/table/cells/_font.py b/packages/python/plotly/plotly/graph_objs/table/cells/_font.py index d5b1c86991..cc5c3ce58d 100644 --- a/packages/python/plotly/plotly/graph_objs/table/cells/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/cells/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -582,7 +583,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/table/header/_font.py b/packages/python/plotly/plotly/graph_objs/table/header/_font.py index 784979df4d..3ea8afe3f0 100644 --- a/packages/python/plotly/plotly/graph_objs/table/header/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/header/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -582,7 +583,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py index 0a34c3ae47..5a72bf219d 100644 --- a/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py index 4fb4498cac..c458e0e5a4 100644 --- a/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/table/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py index 34a074f6cb..302184f1d3 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py index 56c2e9eb22..2d6af94a57 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py index d4cfd76e6d..064f6b74b9 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py index 11b9b6b5f7..835637951d 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -588,7 +589,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py b/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py index bf7ba7970c..8cdf60c0be 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_pathbar.py @@ -87,7 +87,7 @@ def textfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py b/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py index ab1c8b7d15..9e1aabaa35 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py index a181ad6e7f..ca452284ed 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py index 92d8296883..ff4b1beca0 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py index f1735013a7..a2c3798b55 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1291,7 +1291,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py index f5d0707550..6c79bda5d4 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py index d0bfa65cbf..fa337e3933 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py index 43b6642e60..b4304b1cf4 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/marker/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py b/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py index bec07f6f18..9695927e46 100644 --- a/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/treemap/pathbar/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py index 98899b2051..9577b2e519 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/violin/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py index b384d71ad7..422d55b606 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/violin/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py index c3a7dd512f..57c2ce2323 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/violin/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py index 0d35b0db4a..a29afec501 100644 --- a/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/violin/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py index fac6e50c07..8db739d7cc 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_colorbar.py @@ -773,7 +773,7 @@ def tickfont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". @@ -1290,7 +1290,7 @@ def titlefont(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py index 251434e3e9..77b9091841 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py index d8f63bf6b2..5a47d42759 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/volume/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py index dc7cafb745..f07cfd2ff4 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_tickfont.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py index 93bde7f098..e09f5b9325 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/_title.py @@ -41,7 +41,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py index d39fd16712..dee2146858 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/colorbar/title/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -347,7 +348,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py index d06719d87a..a095ce2b54 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py index 8e46965ff1..66cfcd0a4d 100644 --- a/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/volume/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py b/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py index 77e0852054..f2c8d8303c 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_hoverlabel.py @@ -258,7 +258,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py index 6817c75fd6..c73f7d4585 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_insidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py b/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py index 03dd12a183..0cdd764056 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_legendgrouptitle.py @@ -40,7 +40,7 @@ def font(self): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py index 7f6351181d..7ecc6cc912 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_outsidetextfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py b/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py index b960e80741..0cab4c92c8 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/_textfont.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py b/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py index 1a20935401..81dd9a21e9 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/hoverlabel/_font.py @@ -121,9 +121,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -430,6 +430,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') - A tuple, list, or one-dimensional numpy array of the above Returns @@ -483,7 +484,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc @@ -584,7 +585,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". familysrc diff --git a/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py b/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py index 20350c2f36..c4c6cc8d7e 100644 --- a/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/graph_objs/waterfall/legendgrouptitle/_font.py @@ -91,9 +91,9 @@ def family(self): studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", - "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas - One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans - Narrow", "Raleway", "Times New Roman". + "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", + "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", + "Raleway", "Times New Roman". The 'family' property is a string and must be specified as: - A non-empty string @@ -252,6 +252,7 @@ def weight(self): The 'weight' property is a integer and may be specified as: - An int (or float that will be cast to an int) in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') Returns ------- @@ -281,7 +282,7 @@ def _prop_descriptions(self): premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition @@ -346,7 +347,7 @@ def __init__( premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid - Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas + Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". lineposition diff --git a/packages/python/plotly/plotly/offline/_plotlyjs_version.py b/packages/python/plotly/plotly/offline/_plotlyjs_version.py index 101f6cc556..5f6bf6263e 100644 --- a/packages/python/plotly/plotly/offline/_plotlyjs_version.py +++ b/packages/python/plotly/plotly/offline/_plotlyjs_version.py @@ -1,3 +1,3 @@ # DO NOT EDIT # This file is generated by the updatebundle setup.py command -__plotlyjs_version__ = "2.33.0" +__plotlyjs_version__ = "2.34.0" diff --git a/packages/python/plotly/plotly/package_data/plotly.min.js b/packages/python/plotly/plotly/package_data/plotly.min.js index ceea12f9db..883bae89d4 100644 --- a/packages/python/plotly/plotly/package_data/plotly.min.js +++ b/packages/python/plotly/plotly/package_data/plotly.min.js @@ -1,8 +1,8 @@ /** -* plotly.js v2.33.0 +* plotly.js v2.34.0 * Copyright 2012-2024, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ /*! For license information please see plotly.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={79288:function(t,e,r){"use strict";var n=r(3400),i={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},86712:function(t,e,r){"use strict";t.exports=r(84224)},37240:function(t,e,r){"use strict";t.exports=r(51132)},29744:function(t,e,r){"use strict";t.exports=r(94456)},29352:function(t,e,r){"use strict";t.exports=r(67244)},96144:function(t,e,r){"use strict";t.exports=r(97776)},53219:function(t,e,r){"use strict";t.exports=r(61712)},4624:function(t,e,r){"use strict";t.exports=r(95856)},54543:function(t,e,r){"use strict";t.exports=r(54272)},45e3:function(t,e,r){"use strict";t.exports=r(85404)},62300:function(t,e,r){"use strict";t.exports=r(26048)},6920:function(t,e,r){"use strict";t.exports=r(66240)},10264:function(t,e,r){"use strict";t.exports=r(40448)},32016:function(t,e,r){"use strict";t.exports=r(64884)},27528:function(t,e,r){"use strict";t.exports=r(15088)},75556:function(t,e,r){"use strict";t.exports=r(76744)},39204:function(t,e,r){"use strict";t.exports=r(94704)},73996:function(t,e,r){"use strict";t.exports=r(62396)},16489:function(t,e,r){"use strict";t.exports=r(32028)},5e3:function(t,e,r){"use strict";t.exports=r(81932)},77280:function(t,e,r){"use strict";t.exports=r(45536)},33992:function(t,e,r){"use strict";t.exports=r(42600)},17600:function(t,e,r){"use strict";t.exports=r(21536)},49116:function(t,e,r){"use strict";t.exports=r(65664)},46808:function(t,e,r){"use strict";t.exports=r(29044)},36168:function(t,e,r){"use strict";t.exports=r(48928)},13792:function(t,e,r){"use strict";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){"use strict";t.exports=r(43480)},25120:function(t,e,r){"use strict";t.exports=r(6296)},4340:function(t,e,r){"use strict";t.exports=r(7404)},86152:function(t,e,r){"use strict";t.exports=r(65456)},56816:function(t,e,r){"use strict";t.exports=r(22020)},89296:function(t,e,r){"use strict";t.exports=r(29928)},20260:function(t,e,r){"use strict";t.exports=r(75792)},32140:function(t,e,r){"use strict";t.exports=r(156)},84764:function(t,e,r){"use strict";t.exports=r(45499)},48824:function(t,e,r){"use strict";t.exports=r(3296)},69967:function(t,e,r){"use strict";t.exports=r(4184)},8363:function(t,e,r){"use strict";t.exports=r(36952)},86636:function(t,e,r){"use strict";t.exports=r(38983)},70192:function(t,e,r){"use strict";t.exports=r(11572)},81604:function(t,e,r){"use strict";t.exports=r(76924)},63796:function(t,e,r){"use strict";t.exports=r(62944)},89336:function(t,e,r){"use strict";t.exports=r(95443)},67484:function(t,e,r){"use strict";t.exports=r(34864)},97312:function(t,e,r){"use strict";t.exports=r(76272)},42192:function(t,e,r){"use strict";t.exports=r(97924)},29800:function(t,e,r){"use strict";t.exports=r(15436)},63560:function(t,e,r){"use strict";t.exports=r(5621)},89904:function(t,e,r){"use strict";t.exports=r(91304)},50248:function(t,e,r){"use strict";t.exports=r(41724)},65832:function(t,e,r){"use strict";t.exports=r(31991)},79440:function(t,e,r){"use strict";t.exports=r(22869)},13752:function(t,e,r){"use strict";t.exports=r(67776)},83096:function(t,e,r){"use strict";t.exports=r(95952)},72196:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},13916:function(t,e,r){"use strict";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},90272:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(O,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:u.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-X),transform:s(Y,X)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+O+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",W(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+O/B.w,ot+Q-O/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*D+3+.75*yt,t=O+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(X);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+K+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-K-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?O:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?O:0),q=(o?st:rt)-(o?$:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+O)+H).attr("y",(o?st+P-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max($-(o?2*P+xt:2*O+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=z?B.t-W:-W,t.attr("transform",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),X=Y[0].length,Z=t.select("."+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?("pixels"===h?(tt.y=D,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=D+l*ot,tt.yb=D-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-D,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=D-y*ot,tt.yb=D+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&z?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:z||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){"use strict";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},47128:function(t,e,r){"use strict";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},95504:function(t,e,r){"use strict";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){"use strict";var n=r(3400),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){"use strict";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){"use strict";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},98192:function(t,e){"use strict";e.u={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.c={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},43616:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t){return"none"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,c=e.lineposition,f=e.textcase;s&&t.style("font-family",s),o+1&&t.style("font-size",o+"px"),a&&t.call(u.fill,a),i&&t.style("font-weight",i),n&&t.style("font-style",n),r&&t.style("font-variant",r),f&&t.style("text-transform",b(function(t){return _[t]}(f))),l&&t.style("text-shadow","auto"===l?h.makeTextShadow(u.contrast(a)):b(l)),c&&t.style("text-decoration-line",b(function(t){return t.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(c)))};var _={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&"none"!==a.type){var d,v,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(E,r,y,"linear",a.colorscale,"fill",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=nt(t,r),p=W(t,r);e.attr("d",A(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var k=t.mgc;k?y=!0:k=b.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,_,[[0,k],[1,d]],"fill")}else if(T){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),O=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),D=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+="-"+t.i),x.pattern(e,"point",a,z,T,I,D,t.mcc,w.fillmode,O,C,P)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",A(x.symbolNumber(a),o,nt(n,e),W(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function D(t,e,r){return r&&(t=j(t)),e?R(t[1]):z(t[0])}function z(t){var e=n.round(t,2);return L=e,e}function R(t){var e=n.round(t,2);return C=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[z(e[0]+(h&&c/h)),R(e[1]+(h&&f/h))],[z(e[0]-(p&&c/p)),R(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=I(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=I(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r="M"+z(t[0][0])+","+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var G=/translate\([^)]*\)\s*$/;function W(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=W;var Y,X,Z,K,J,$,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=Q(v[1]-n,v[0]-r),y=Q(d[1]-n,d[0]-r);if("north"===s)f=a/180*Math.PI;else if("previous"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=Y/180*Math.PI,_=X/180*Math.PI,w=b-m,T=tt(_)*et(w),k=et(_)*tt(x)-tt(_)*et(x)*tt(w);f=-Q(T,k)-Math.PI,Y=h,X=p}var A=rt(g,[tt(f),0]),M=rt(y,[et(f),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||$===e.uid&&t.i===J+1||(a=null)}if("previous"===s&&!e._geo)if($===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-Z,E=n-K,L=e.line&&e.line.shape||"",C=L.slice(L.length-1);"h"===C&&(E=0),"v"===C&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return Z=r,K=n,J=t.i,$=e.uid,a}x.getMarkerAngle=nt},71984:function(t,e,r){"use strict";var n,i,a,o,s=r(21984),l=r(33428).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},92036:function(t,e,r){"use strict";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},55756:function(t,e,r){"use strict";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},55056:function(t,e,r){"use strict";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexZ[0]._length||bt<0||bt>K[0]._length)return v.unhoverRaw(t,e)}else xt="xpx"in e?e.xpx:Z[0]._length/2,bt="ypx"in e?e.ypx:K[0]._length/2;if(e.pointerX=xt+Z[0]._offset,e.pointerY=bt+K[0]._offset,rt="xval"in e?m.flat(x,e.xval):m.p2c(Z,xt),nt="yval"in e?m.flat(x,e.yval):m.p2c(K,bt),!i(rt[0])||!i(nt[0]))return o.warn("Fx.hover failed",e,t),v.unhoverRaw(t,e)}var kt=1/0;function At(r,n){for(at=0;atdt&&(vt.splice(0,dt),kt=vt[0].distance),A&&0!==et&&0===vt.length){pt.distance=et,pt.index=!1;var c=st._module.hoverPoints(pt,ft,ht,"closest",{hoverLayer:b._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=et}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=St(p),(!yt.vLinePoint||yt.vLinePoint.spikeDistance>f.spikeDistance)&&(yt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=St(g),(!yt.hLinePoint||yt.hLinePoint.spikeDistance>f.spikeDistance)&&(yt.hLinePoint=f))}}}}}function Mt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Bt-1;Nt--)qt(vt[Nt]);vt=jt,Ot()}var Ht=t._hoverdata,Gt=[],Wt=q(t),Yt=H(t);for(it=0;it1||vt.length>1)||"closest"===M&&mt&&vt.length>1,oe=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),se=D(vt,{gd:t,hovermode:M,rotateLabels:ae,bgColor:oe,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),le=se.hoverLabels;if(m.isUnifiedHover(M)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=R(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(S+p.y)-T(t.by/2-S))+T(t.by);else{var M=w(A*S+p.x),E=M+w(A*t.bx);u=t.crossPos+Math.min(M,E),c=t.crossPos+Math.max(M,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(M.push.apply(M,E),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var O=g[s];for(l=O.length-1;l>=0;l--){var P=O[l],I=P.datum;I.offset=P.dp,I.del=P.del}}}(le,ae,b,se.commonLabelBoundingBox),F(le,ae,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=y.getComponentMethod("annotations","hasClickToShow")(t,Gt);h(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ht)&&(Ht&&t.emit("plotly_unhover",{event:e,points:Ht}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:Z,yaxes:K,xvals:rt,yvals:nt}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=q(i),o=H(i),s=D(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(y.traceIs(v,"gl3d")){var g=i._fullLayout[v.scene]._scene.container,m=g.offsetLeft,x=g.offsetTop;c+=m,f+=m,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function D(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||x.HOVERFONT,k=e.fontSize||x.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,L=e.fontVariant||i.font.variant,C=e.fontTextcase||i.font.textcase,O=e.fontLineposition||i.font.lineposition,I=e.fontShadow||i.font.shadow,D=t[0],R=D.xa,F=D.ya,B=a.charAt(0),N=B+"Label",j=D[N];if(void 0===j&&"multicategory"===R.type)for(var U=0;Ui.width-w&&(P=i.width-w),e.attr("d","M"+(m-P)+",0L"+(m-P+S)+","+_+S+"H"+w+"v"+_+(2*E+b.height)+"H"+-w+"V"+_+S+"H"+(m-P-S)+"Z"),m=P,Q.minX=m-w,Q.maxX=m+w,"top"===R.side?(Q.minY=x-(2*E+b.height),Q.maxY=x-E):(Q.minY=x+E,Q.maxY=x+(2*E+b.height))}else{var z,B,N;"right"===F.side?(z="start",B=1,N="",m=R._offset+R._length):(z="end",B=-1,N="-",m=R._offset),x=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",z),e.attr("d","M0,0L"+N+S+","+S+"V"+(E+b.height/2)+"h"+N+(2*E+b.width)+"V-"+(E+b.height/2)+"H"+N+S+"V-"+S+"Z"),Q.minY=x-(E+b.height/2),Q.maxY=x+(E+b.height/2),"right"===F.side?(Q.minX=m+S,Q.maxX=m+S+(2*E+b.width)):(Q.minX=m-S-(2*E+b.width),Q.maxX=m-S);var U,V=b.height/2,H=q-b.top-V,W="clip"+i._uid+"commonlabel"+F._id;if(m=0?dt:vt+mt=0?vt:Mt+mt=0?ht:pt+xt=0?pt:St+xt=0,"top"!==t.idealAlign&&J||!$?J?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,$=B-U/2-Q>=0,"left"!==t.idealAlign&&J||!$)if(J)B+=U/2,t.anchor="start";else{t.anchor="middle";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor="end";t.crossPos=B}_.attr("text-anchor",t.anchor),D&&P.attr("text-anchor",t.anchor),e.attr("transform",l(B,N)+(s?u(w):""))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function z(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=U(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(I,(function(e,r){return s=U(r,t.nameLength),""}))}return[l,s]}function R(t,e){var r=0,n=t.offset;return e&&(n*=-M,r=t.offset*A),{x:r,y:n}}function F(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select("text.nums"),h=t.anchor,d="end"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(S+E))+s*(i.txwidth+E),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+E),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=R(t,e),y=g.x,m=g.y,x="middle"===h;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*S+y)+","+o(S+m)+"v"+o(t.by/2-S)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*S+y)+"V"+o(m-S)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+E,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==h?(c.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+E:-t.bx-E):"right"===w&&"end"!==h&&(c.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-E:t.bx+E)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(f.positionText,a(v.text2ShiftX+v.alignShift*E+y),o(m+t.ty0-t.by/2+E)),r.select("rect").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function B(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("fontWeight","htw","hoverlabel.font.weight"),c("fontStyle","hty","hoverlabel.font.style"),c("fontVariant","htv","hoverlabel.font.variant"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function N(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var O,P,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(O=F,P=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),O=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function j(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function U(t,e){return f.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function V(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function q(t){return t.offsetTop+t.clientTop}function H(t){return t.offsetLeft+t.clientLeft}function G(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},41008:function(t,e,r){"use strict";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},93024:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:"component",name:"fx",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(62376)}},65460:function(t,e,r){"use strict";var n=r(92456),i=r(25376),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},88336:function(t,e,r){"use strict";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},81976:function(t,e,r){"use strict";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){"use strict";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),O="paper"===p("yref"),P="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?O?(E=1.1,L="bottom"):(E=1,L="top"):O?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",P?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",D)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style("stroke-width",h.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(S);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(i.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=O(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&"right"===S,L=i.x>1||1===i.x&&"left"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:D:L?I&&"right"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(t){var e=k(t,i,g);z=Math.max(z,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&""!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k="paper"===h.xref,M="paper"===h.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[O(h)]*h._effHeight:d.height*(1-h.y)-g[O(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=O(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var P=S,I=E;S=k?i.constrain(S,0,d.width-h._width):P,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==P&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==I&&i.log("Constrain "+w+".y to make legend fit inside graph")}u.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||h._height<=h._maxHeight||t._context.staticPlot){var D=h._effHeight;T&&(D=h._height),U.attr({width:h._width-_,height:D-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select("rect").attr({width:h._width-2*_,height:D-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var z,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select("rect").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on("wheel",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,F=Z)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=u.getTranslate(N);m=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==m&&void 0!==x){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+".x"]=e,r[w+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on("edit",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(n===_?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)"left"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function O(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?c.visible&&c.type===o:i.traceIs(c,"bar"),v=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);v.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if("middle"===l&&0===s||!u||!c)i.attr("transform",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr("transform",o(h,f))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x),b.tC=y("textfont.textcase",x),b.tE=y("textfont.lineposition",x),b.tS=y("textfont.shadow",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){"use strict";r(76052),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},44248:function(t,e,r){"use strict";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(P=["toggleHover"],I=["resetViews"]):y?(O=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],I=["resetGeo"]):g?(P=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(O=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],I=["resetViewMapbox"]):b?P=["hoverClosestGl2d"]:m?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):P=["toggleHover"],v&&(P=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b="col-resize",y+_>r._length)return;c=y+_,p=m;break;case u:if(b="col-resize",m+_<0)return;c=y,p=m+_;break;default:b="ew-resize",c=v,p=v+_}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){"use strict";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},81004:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},5968:function(t,e,r){"use strict";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e,O.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){"use strict";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},96084:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,O="y1"):(M=_,C="y1",S=p,O="y0"),tt(n),nt(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),Q.moveFn="move"===z?et:rt,Q.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),it(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||it(l)}};function tt(r){if(b(t))z=null;else if(j)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),z=l.split("-")[0]}}function et(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else B?V("xanchor",r.xanchor=K(w+n)):(V("x0",r.x0=K(f+n)),V("x1",r.x1=K(x+n))),N?V("yanchor",r.yanchor=J(A+i)):(V("y0",r.y0=J(p+i)),V("y1",r.y1=J(_+i)));e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function rt(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else if(j){if("resize-over-start-point"===z){var h=f+n,d=N?p-i:p+i;V("x0",r.x0=B?h:K(h)),V("y0",r.y0=N?d:J(d))}else if("resize-over-end-point"===z){var v=x+n,g=N?_-i:_+i;V("x1",r.x1=B?v:K(v)),V("y1",r.y1=N?g:J(g))}}else{var b=function(t){return-1!==z.indexOf(t)},T=b("n"),G=b("s"),Y=b("w"),$=b("e"),Q=T?M+i:M,tt=G?S+i:S,et=Y?E+n:E,rt=$?L+n:L;N&&(T&&(Q=M-i),G&&(tt=S-i)),(!N&&tt-Q>F||N&&Q-tt>F)&&(V(C,r[C]=N?Q:J(Q)),V(O,r[O]=N?tt:J(tt))),rt-et>R&&(V(P,r[P]=B?et:K(et)),V(I,r[I]=B?rt:K(rt)))}e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function nt(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=X(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Z(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function it(t){t.selectAll(".visual-cue").remove()}d.init(Q),$.node().onmousemove=tt}(t,F,c,e,r,z):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("above"===c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):"between"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},41592:function(t,e,r){"use strict";var n=r(4016);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)("shapes"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},89861:function(t,e,r){"use strict";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},60876:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return V.call(q),N&&(E?V.on(".opacity",null):(A=0,M=!0,V.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),V.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(q)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),V.classed("js-placeholder",M),T}}},88444:function(t,e,r){"use strict";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},73712:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},91384:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){"use strict";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,O=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,I=d+v,D=g;I+O>l&&(I=l-O);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:O,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+O+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},36208:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},48164:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},26880:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},69104:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},99168:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},13448:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},2264:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},9616:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},64884:function(t,e,r){"use strict";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},98308:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){"use strict";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){"use strict";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=v(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),"auto"===t?e.set("auto"):n(t)?e.set(h(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||f(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!f(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var O=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(k,O.toMonthIndex(k,A,P),M)}else C=O.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var O=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),O[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var P=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+P);return u.setUTCMonth(u.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},3400:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var z=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},37804:function(t,e,r){"use strict";var n=r(22296),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},30988:function(t,e,r){"use strict";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){"use strict";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){"use strict";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){"use strict";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){"use strict";var n=r(38248),i=r(25928);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){"use strict";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){"use strict";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),O=n.select(t.node().parentNode);if(!O.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=O.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:P,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===P[0])m=x-v/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){O.empty()||(P=t.attr("class")+"-math",O.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),O=0;O|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(m),a=[],o="",s=0,l=0;l3?a.push(u.substr(0,p-3)+"..."):a.push(u.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function O(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){"use strict";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){"use strict";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},6580:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},69820:function(t,e,r){"use strict";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),O=[],P=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?O.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b=0;x--)L.splice(O[x],1),C&&C.splice(O[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===P)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=P);x++)D.push(_);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function z(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var R=I.parts[z],F=I.parts[z-1]+"."+R,j=I.parts.slice(0,z).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==D){k[P]=D,S[P]="reverse"===R?D:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==D)for(var Z in G.impliedEdits)E(o.relativeAttr(P,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var J="height"===P?"width":"height";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",D?null:l.width),E("height",D?null:l.height);else if(F.match(W))O(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){O(F),s(l,j+"._inputRange").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){L=U;var Q="linear"===q.type&&"log"===D,tt="log"===q.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,q,D,E),c.getComponentMethod("images","convertCoords")(t,q,D,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(D)?S[P]=null:w.isRemoveVal(D)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):("dragmode"===P&&(!1===D&&!1!==H||!1!==D&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(D))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+"["+o+"]";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+"."+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);if(y>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},67024:function(t,e,r){"use strict";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){"use strict";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,O=Array.isArray(k);if(O&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(O?Math.min(P,k[M].length):P);A++)S=O?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,L)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},19280:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>O?M/A>P&&(w=b,T=_,P=M/A):M/C>P&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},P=M/C));if(h===v){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,z/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=P;n--)O(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},54460:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,O=v.MINUS_SIGN,P=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(84284),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,q=N.OPPOSITE_SIDE,H=t.exports={};H.setConvert=r(78344);var G=r(52976),W=r(79811),Y=W.idSort,X=W.isLinked;H.id2name=W.id2name,H.name2id=W.name2id,H.cleanId=W.cleanId,H.list=W.list,H.listIds=W.listIds,H.getFromId=W.getFromId,H.getFromTrace=W.getFromTrace;var Z=r(19280);H.getAutoRange=Z.getAutoRange,H.findExtremes=Z.findExtremes;var K=1e-4;function J(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},H.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=H.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=H.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?et(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?rt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":et(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?et(f,h)||(t.dtick=rt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(D){if(t._tmin=V,V=N:Y<=N;Y=H.tickIncrement(Y,X,f,o)){if(D&&q++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===W)break;W=Y;var Z={value:Y};D?(U&&Y!==(0|Y)&&(Z.simpleLabel=!0),l>1&&q%l&&(Z.skipLabel=!0),C.push(Z)):(Z.minor=!0,O.push(Z))}}else C=[],v=at(t);else D?(C=[],v=ot(t,!z)):(O=[],L=ot(t,!z))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==P&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var it="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=zt(C[r].value,t);var ut=t.c2p(C[r].value);(it?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(mt(t.exponentformat)&&!xt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function gt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*dt(e,n,st);else if(o>T)e/=T,t.dtick="M"+dt(e,1,lt);else if(o>M){if(t.dtick=dt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ct),!r){var l=H.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=dt(e,E,lt):o>L?t.dtick=dt(e,L,ut):o>C?t.dtick=dt(e,C,ut):(n=a(10),t.dtick=dt(e,n,st))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+dt(e,n,st)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Dt(t)?(t.tick0=0,n=1,t.dtick=dt(e,n,pt)):(t.tick0=0,n=a(10),t.dtick=dt(e,n,st));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ht:ft,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=bt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||mt(p)&&xt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":O)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":O)+h:(e.text=bt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):Dt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=bt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=bt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=O+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=bt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+" - "+H.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":O+o:o};var yt=["f","p","n","μ","m","","k","M","G","T"];function mt(t){return"SI"===t||"B"===t}function xt(t){return t>14||t<-15}function bt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};vt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,O);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"
":"B"===l&&9===u?t+="B":mt(l)&&(t+=yt[u/3+5])),a?O+t:t}function _t(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function wt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=H.drawOne(t,n,r);return n._shiftPusher&&Bt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=H.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var b=e.linewidth/2||0;"inside"===e.ticks&&(b+=e.ticklen),Bt(e,b,p,!0),Bt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=H.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=At(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=At(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(_t(n,e.automargin),_t(i,e.automargin)),a.autoMargin(t,Et(e),n),a.autoMargin(t,Lt(e),i),a.autoMargin(t,Ct(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=St(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=H.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(Tt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(Tt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,kt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Ft(e,[R]),o.attr("transform",r.transFn)},H.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,kt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Ft(e,[D,z])}},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Ft(e,[I])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+"tick",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll("g."+c).data(e.showticklabels?f:[],kt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=u.lineCount(o),v=V*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}g.enter().append("g").classed(c,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Ft(e,[F]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=St(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*N&&(O=N,E[S]=L[S]=P[S])}var U=Math.abs(O-C);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var q=s.syncOrAsync(b);return q&&q.then&&t._promises.push(q),q},H.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},H.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===P)&&(Mt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){"use strict";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,u=r("categoryorder",a);"array"===u&&(l=r("categoryarray")),s||"array"!==u||(u=e.categoryorder="trace"),"trace"===u?e._initialCategories=[]:"array"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FO&&(O=F);h/=(O-C)/(2*P),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,O)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,K,J,e.id,Ot),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:P,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>O||o>O?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>O||o>O){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},42568:function(t,e,r){"use strict";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},96312:function(t,e,r){"use strict";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var u,c=e.getAutorangeDflt(l,i),f=r("autorange",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==f&&!0!==f)&&(null===l[0]||"min"!==f&&"max reversed"!==f)&&(null===l[1]||"max"!==f&&"min reversed"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r("autorange",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},21160:function(t,e,r){"use strict";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function O(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){"use strict";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var O=this.bounds=y.getBounds(C),P=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((O[1][0]-O[0][0])/(D[1][0]-D[0][0]),(O[1][1]-O[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*P):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*P);var R=this.midPt=[(O[0][0]+O[1][0])/2,(O[0][1]+O[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(O),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},10816:function(t,e,r){"use strict";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&O<0&&(O+=360);var P,I,D,z=(C+O)/2;if(!p){var R=d?f.projRotate:[z,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:P,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},79248:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:"zoom"})})),A=h.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(u),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,h,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){"use strict";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},9020:function(t,e,r){"use strict";var n=r(43080),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var O=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:O}),L.bbox=O[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if("cube"===D)g=[1,1,1];else if("manual"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,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:o,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:o,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:s,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:s,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:u,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@"+i+"."].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:",u.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\')'}}},89032:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},33688:function(t,e,r){"use strict";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p="mapbox",d=e.constants=r(47552);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split("|").join("
");b.text(T).attr("data-unformatted",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr("transform",a(-3,8-_.height)),x.insert("rect",".static-attribution").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(l.getComponentMethod("grid","sizeDefaults")(u,s),o=0;o15&&D.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var O=g[C].l||{},I=g[C].b||{},D=O.val,z=O.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var q=(z*U+(V-B)*D)/(U-D),H=(V*(1-D)+(z-B)*(1-U))/(U-D);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!f.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),"object"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],O=r.cy=S+E*b[3],P=r.cxx=C-M,I=r.cyy=O-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,O)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){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(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return O(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,O=s.radialAxis,P=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),u=P((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr("fill-rule","evenodd"),W=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],O=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0}),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",r.font,{overrideDflt:{color:d}}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){"use strict";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var O="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",O);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",O="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",P="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){"use strict";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},84664:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=h(n,"textfont",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,"insidetextfont",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,"pathbar.textfont",_)}y&&h(n,"outsidetextfont",m),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),u&&n("constraintext"),c&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c("xhoverformat"),c("yhoverformat"),c("zorder"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var h=c("textposition");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||a.defaultLine,{axis:"y"}),v(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return O(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){"use strict";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:"trace",name:"bar",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},39324:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},37156:function(t,e,r){"use strict";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return"auto"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function O(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);"auto"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var O=i.left*p+i.right*h,P=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,D=(r+n)/2,z=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,z=-B*F):(I=e-B*w,z=B*F):f?(D=r+B*w,R=-B*F):(D=n-B*w,R=B*F)}return{textX:O,textY:P,targetX:I,targetY:D,anchorX:z,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,P=e.yaxis,I=t._fullLayout,D=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var z=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,z="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,N=B||R,j=0;z&&f.connector.visible&&"between"===f.connector.mode&&(j=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=a.ensureSingle(u,"g","points"),H=T(f),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,T){var S,z,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),"waterfall"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,z=Z.color}}else S=v.getLineWidth(f,u),z=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(z)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:P.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt="M"+H+","+W+"V"+(Y-ut*st)+"H"+ft(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st-ct)+"V"+(W+rt*st+ct)+"A "+rt+","+rt+" 0 0 "+lt+" "+ft(G-(rt-it)*ot,H)+","+(W+ut*st)+"Z"}else if(u.hasB)tt="M"+(H+rt*ot)+","+W+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(W+rt*st)+"V"+(Y-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+Y+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st)+"V"+(W+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+W+"Z";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ht*ot)+","+W+"V"+dt(Y-(rt-it)*st,W)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+Y+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ht*ot)+","+dt(Y-(rt-it)*st,W)+"V"+W+"Z"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,"path"),I,g,y);if(vt.style("vector-effect",D?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,I=t._fullLayout;function D(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var z=n[0].trace,R="h"===z.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,P);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(z,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&"none"!==k&&(!N.isBlank&&s!==u&&f!==p||"auto"!==k&&"inside"!==k)){var q=I.font,H=d.getBarColor(n[i],z),G=d.getInsideTextFont(z,i,q,H),W=d.getOutsideTextFont(z,i,q),Y=z.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k="inside":(k="outside",Z.remove(),Z=null)}else k="inside";if(!Z){var ot=(Z=D(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?W:G))).attr("transform");if(Z.attr("transform",""),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr("transform",ot),J<=0||$<=0)return void Z.remove()}var st,lt=z.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"outside"===z.constraintext,angle:lt}):O(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"inside"===z.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h("histogram"===z.type?"bar":z.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select("text"),w,P,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,z,e,g)},toMoveInsideBar:O}},45784:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},82744:function(t,e,r){"use strict";var n=r(33428),i=r(3400);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},94456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(40872),categories:["polar","bar","showLegend"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},89580:function(t,e,r){"use strict";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:u({},c.symbol,{arrayOk:!1,editType:"plot"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:u({},c.angle,{arrayOk:!1,editType:"calc"}),size:u({},c.size,{arrayOk:!1,editType:"calc"}),color:u({},c.color,{arrayOk:!1,editType:"style"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},62555:function(t,e,r){"use strict";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,O,P,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==s&&W<=E.q1?W:p(E,C,O);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,O);var X=V("mean");E.mean=X!==s?X:O?o.mean(C,O):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:O?o.stdev(C,O,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V("notchspan");K=K!==s&&K>0?K:y(E,O),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[O-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),O=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[O-1],E.mean=o.mean(C,O),E.sd=o.stdev(C,O,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),O%2&&(lt||ut)?(lt?(ct=C.slice(0,O/2),ft=C.slice(O/2+1)):ut&&(ct=C.slice(0,O/2+1),ft=C.slice(O/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,O),E.uf=d(E,C,O),E.lo=v(E),E.uo=g(E);var ht=y(E,O);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=O(S+C),R=P(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,O=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(O-2,a))),s=a-o,x.length=O,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=O,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(O-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){"use strict";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},86411:function(t,e,r){"use strict";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},7924:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},54272:function(t,e,r){"use strict";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:"trace",name:"choropleth",basePlotModule:r(10816),categories:["geo","noOpacity","showLegend"],meta:{}}},88364:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","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:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){"use strict";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){"use strict";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r("contours.operation");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t("contours.value",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),v=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",v&&s(v)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,h)}},3212:function(t,e,r){"use strict";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},84952:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},82172:function(t,e,r){"use strict";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},46960:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){"use strict";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,O,P,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){"use strict";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},37960:function(t,e,r){"use strict";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},30572:function(t,e,r){"use strict";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){"use strict";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c("zorder")}},40448:function(t,e,r){"use strict";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:"trace",name:"contourcarpet",basePlotModule:r(57952),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},94440:function(t,e,r){"use strict";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),O="constraint"===L.type,P=L._operation,I=O?"="===P?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,P)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},97664:function(t,e,r){"use strict";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},96176:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){"use strict";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){"use strict";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){"use strict";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:"trace",name:"funnel",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},7076:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},11631:function(t,e,r){"use strict";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){"use strict";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},91248:function(t,e,r){"use strict";var n=r(7316);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){"use strict";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},92688:function(t,e,r){"use strict";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===v&&c("textposition","none");a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},62396:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(91248),categories:["pie-like","funnelarea","showLegend"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){"use strict";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},35384:function(t,e,r){"use strict";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},39472:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){"use strict";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},19512:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){"use strict";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},39096:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},35744:function(t,e,r){"use strict";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement("canvas");et.width=J,et.height=$;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(z,{noNumericCheck:!0,returnArray:!0});"fast"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if("smooth"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Ot=V?w:_;for(C=0;CZt||Zt>M._length))for(O=Gt;OJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},z,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=D.z[C][O];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=D.text&&D.text[C]&&D.text[C][O];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,z._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);D.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],O=[],P=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=O[r],W?et.ph0=et.ph1=O[r].length?A[O[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},80536:function(t,e,r){"use strict";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],f=["x","y"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],O="string"==typeof w.size,P="string"==typeof A.size,I=[],D=[],z=O?I:w,R=P?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":O?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},29044:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},4304:function(t,e,r){"use strict";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},25132:function(t,e,r){"use strict";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){"use strict";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},47192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){"use strict";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&T.push(", "+_[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+f.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}},48928:function(t,e,r){"use strict";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:"trace",name:"image",basePlotModule:r(57952),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},63715:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(D||z){var R=v+E/2,F=m+L/2;O+="transform:"+a(R+"px",F+"px")+"scale("+(D?-1:1)+","+(z?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",O);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,O,P=e[0].trace,I=n.select(this),D=P._hasGauge,z=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=P.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),O=[];v._hasNumber&&O.push("number"),v._hasDelta&&(O.push("delta"),"left"===v.delta.position&&O.reverse());var P=C.selectAll("text").data(O);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},O={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=I.selectAll("g.angular").data(z?e:[]);W.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function O(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*D},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(P(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=P(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(O).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll("g.threshold-arc").data(F);W.enter().append("g").classed("threshold-arc",!0).append("path"),W.select("path").call(O).call(T),W.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(O).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var X=I.selectAll("g.bullet").data(R?e:[]);X.exit().remove();var Z=I.selectAll("g.bulletaxis").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),O=f.selectAll("g.bg-bullet").data(C);O.enter().append("g").classed("bg-bullet",!0).append("rect"),O.select("rect").call(L).call(T),O.exit().remove();var P=f.selectAll("g.value-bullet").data([c.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?P.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var K=I.selectAll("text.title").data(e);K.exit().remove(),K.enter().append("text").classed("title",!0),K.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(f.font,P.title.font).call(p.convertToTspans,t),K.attr("transform",(function(){var t,e=B.l+B.w*b[P.title.align],r=h.titlePadding,n=f.bBox(K.node());return D?(z&&(t=P.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},62624:function(t,e,r){"use strict";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:P(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?tt(e,f,o,s,h,n[a]):"y"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?K(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?K(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&O(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){"use strict";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:"cmin",max:"cmax"},plot:r(31460).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(12536),categories:["gl3d","showLegend"],meta:{}}},52948:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},576:function(t,e,r){"use strict";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(57952),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){"use strict";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},97384:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o="array");var f=r("categoryorder",o);"array"===f?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==f||(e.categoryorder="trace")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:f}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v=c.font;n.coerceFont(h,"labelfont",v,{overrideDflt:{size:Math.round(v.size)}}),n.coerceFont(h,"tickfont",v,{autoShadowDflt:!0,overrideDflt:{size:Math.round(v.size/1.2)}})}},22020:function(t,e,r){"use strict";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(91800),categories:["noOpacity"],meta:{}}},51036:function(t,e,r){"use strict";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",O).on("drag",P).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function O(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){"use strict";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){"use strict";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({autoShadowDflt:!0,editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},71864:function(t,e,r){"use strict";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){"use strict";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(19976),categories:["gl","regl","noOpacity","noHover"],meta:{}}},19976:function(t,e,r){"use strict";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},95044:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y,{autoShadowDflt:!0}),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},95724:function(t,e,r){"use strict";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},29928:function(t,e,r){"use strict";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){"use strict";var n=["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"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,O=s.tickvals;function P(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(O)&&O.length){i.isTypedArray(O)&&(O=Array.from(O)),C=s.ticktext,a(C)&&C.length?C.length>O.length?C=C.slice(0,O.length):O.length>C.length&&(O=O.slice(0,C.length)):C=O.map(o(s.tickformat));for(var D=1;D=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,v);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){D(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),D(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,D(V,e,w),n.select(this).attr("transform",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,v);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,v);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,v);G.enter().append("g").classed(x.cn.axisHeading,!0);var W=G.selectAll("."+x.cn.axisTitle).data(g,v);W.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=q.selectAll("."+x.cn.axisExtent).data(g,v);Y.enter().append("g").classed(x.cn.axisExtent,!0);var X=Y.selectAll("."+x.cn.axisExtentTop).data(g,v);X.enter().append("g").classed(x.cn.axisExtentTop,!0),X.attr("transform",c(0,-x.axisExtentOffset));var Z=X.selectAll("."+x.cn.axisExtentTopText).data(g,v);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(P),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll("."+x.cn.axisExtentBottom).data(g,v);K.enter().append("g").classed(x.cn.axisExtentBottom,!0),K.attr("transform",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll("."+x.cn.axisExtentBottomText).data(g,v);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){"use strict";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){"use strict";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},80036:function(t,e,r){"use strict";var n=r(7316);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},53644:function(t,e,r){"use strict";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){"use strict";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){"use strict";var n=r(3400);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,c=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,f=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,h=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u,textcase:c,lineposition:f,shadow:h}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=O(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function O(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+O(i.px0,i.pxmid,!0,1)+O(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+O(i.px0,i.pxmid,!1,k)+O(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=O(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+O(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function O(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),O=(.5*S-v.r)/h.w,P=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-O,xr:M.x[1]+O,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){"use strict";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},35484:function(t,e,r){"use strict";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},11072:function(t,e,r){"use strict";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){"use strict";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},156:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:"trace",name:"pointcloud",basePlotModule:r(39952),categories:["gl","gl2d","showLegend"],meta:{}}},41440:function(t,e,r){"use strict";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},10760:function(t,e,r){"use strict";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var O="";a.label&&a.label[e]&&(O=a.label[e]);var P=null;O&&d.hasOwnProperty(O)&&(P=d[O]),u.push({pointNumber:e,label:O,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:P,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,D=o(r.color),z=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:D?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},47140:function(t,e,r){"use strict";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate"),y("align");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_("hovercolor",Array.isArray(k)?k.map(A):A(k)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",h.font,{autoShadowDflt:!0}),e._length=null}},45499:function(t,e,r){"use strict";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:"trace",name:"sankey",basePlotModule:r(10760),selectPoints:r(81128),categories:["noOpacity"],meta:{}}},59596:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){"use strict";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function O(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat"),m("zorder");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){"use strict";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(57952),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},55308:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},59748:function(t,e,r){"use strict";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},66828:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},52340:function(t,e,r){"use strict";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,O="log"===L.type,P="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(O&&(i=L.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},74428:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},31147:function(t,e,r){"use strict";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},96504:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var O,P,I=w.fill.charAt(w.fill.length-1);"x"!==I&&"y"!==I&&(I=""),"y"===I?(O=1,P=_.c2p(0,!0)):"x"===I&&(O=0,P=b.c2p(0,!0)),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var D,z,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},91560:function(t,e,r){"use strict";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},3296:function(t,e,r){"use strict";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(41484),moduleType:"trace",name:"scatter3d",basePlotModule:r(12536),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},90372:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:u({},i.mode,{dflt:"markers"}),text:u({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},l("marker.line")),gradient:c.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){"use strict";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){"use strict";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:"trace",name:"scattercarpet",basePlotModule:r(57952),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},20036:function(t,e,r){"use strict";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){"use strict";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:"trace",name:"scattergeo",basePlotModule:r(10816),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48691:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v="geojson-id"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),O=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(P=I.marker.sizeAvg||Math.max(I.marker.size,3)):P=u(e,b),c(t,e,l,m,E,L,P),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){"use strict";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,_=e.texttemplate;if(_){y.text=[];var w=i._d3locale,T=Array.isArray(_),k=T?Math.min(_.length,a):a,A=T?function(t){return _[t]}:function(){return _};for(r=0;r500?"bold":"normal":t}function _(t,e){var r,n,i=e._length,o=e.marker,s={},u=l(o.symbol),c=l(o.angle),h=l(o.color),v=l(o.line.color),g=l(o.opacity),y=l(o.size),m=l(o.line.width);if(u||(n=d.isOpenSymbol(o.symbol)),u||h||v||g||c){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,b=o.angle,_=f(o,o.opacity,i),w=f(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,O=!!y.yperiodalignment;for(c=0;c=Math.min(P,I)&&w<=Math.max(P,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,O=L.t,P=O.index,I=C._length,D=O.x,z=O.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[P]=s.selIndices2selPoints(C),F={};for(g=0;g850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),f(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,f=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=c.hasLines(a),k=c.hasMarkers(a),A=c.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,L=g("fill"),C=g("line"),O=g("circle"),P=g("symbol"),I={fill:L,line:C,circle:O,symbol:P};if(!f)return I;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(L.geojson=o.makePolygon(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"fill-color":a.fillcolor})),T&&(C.geojson=o.makeLine(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var D=function(t){var e,r,a,o,c=t[0].trace,f=c.marker,h=c.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),v=i.isArrayOrTypedArray(f.opacity);function g(t){return c.opacity*t}p&&(r=s.hasColorscale(c,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity),d&&(a=u(c)),v&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,m,b=[];for(e=0;e")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){"use strict";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(33688),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},9660:function(t,e,r){"use strict";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(40872),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(47788),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},34864:function(t,e,r){"use strict";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:"trace",name:"scatterternary",basePlotModule:r(19352),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},88776:function(t,e,r){"use strict";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,O=!0;if(o(x)||p.selectedpoints||C){var P=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var P=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:O,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},78176:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},28732:function(t,e,r){"use strict";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},96488:function(t,e,r){"use strict";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,O=L.w*(C.x[1]-C.x[0]),P=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(O,P),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-P/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr("d",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){"use strict";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},56576:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},79164:function(t,e,r){"use strict";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},55992:function(t,e,r){"use strict";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[""],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[""]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),O={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return O.columns.forEach((function(t){t.calcdata=O,t.x=h(t)})),O}},53056:function(t,e,r){"use strict";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){"use strict";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":k(t.calcdata.cells.prefix,e,r)||"",d=c?"":k(t.calcdata.cells.suffix,e,r)||"",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(O(t,r,e,u,n.prevPages,n,0),O(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function O(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(z),L(null,t.filter(M),0),b(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(D(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function D(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function z(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},79516:function(t,e,r){"use strict";var n=r(7316);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){"use strict";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc("treemap",t)}},32984:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},34092:function(t,e,r){"use strict";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){"use strict";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},27336:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],O=C.trace,P=C.hierarchy,I=g/O._entryDepth,D=c.listPath(r.data,"id"),z=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,O,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(O,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},76477:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,O=-1!==C.textposition.indexOf("left"),P=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");z.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":O||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},83024:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(P+I):0,z={x0:O,x1:O,y0:D,y1:D+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+","+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+K(l.x,l.y)+"L"+K(u.x,u.y)+"L"+K(s.x,s.y)+"L"+K(c.x,c.y)+"L"+K(f.x,f.y)+"L"+K(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),O=s.getPositionOnKdePath(S,d,L),P=w._offset,I=w._length;E[b+"0"]=O[0],E[b+"1"]=O[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},95952:function(t,e,r){"use strict";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:"trace",name:"waterfall",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},91352:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},59464:function(t,e,r){"use strict";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>f};case">=":return function(t){return p(t)>=f};case"[]":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case"()":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case"][":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case")(":return function(t){var e=p(t);return ef[1]};case"](":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case")[":return function(t){var e=p(t);return e=f[1]};case"{}":return function(t){return-1!==f.indexOf(p(t))};case"}{":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):m(t):"Buffer"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return D(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function D(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){Z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,O=0|o[7],P=8191&O,I=O>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,H)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(z,K)|0,i=(i=i+Math.imul(z,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Ot=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Ot,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var D=(P-=1)*b,z=w[D],R=w[D+1],F=w[D+2],B=w[D+3],N=w[D+4],j=w[D+5],U=P*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,z,R,F,W,Y,q))||4&j&&(R=y(t,z,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)"),v=c("lo===p0"),g=c("lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,O=2*b,P=2*w,I=2*p,D=2*v,z=2*d,R=0;R<2;++R){var F=f[C+R],B=f[O+R],N=f[P+R];f[I+R]=F,f[D+R]=B,f[z+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var O=0;O>>1;a(d,E);var L=0,C=0,O=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),P<0){for(var D=-(P>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,O--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=ArrayBuffer,c=DataView;function f(t){return Array.isArray(t)||function(t){return u.isView(t)&&!(t instanceof c)}(t)}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.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=a(t)}var d=p.prototype;function v(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?f(a)&&f(a[0]):f(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(f(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,h=!1;if("bounds"in t)for(var p=t.bounds,d=0;d<2;++d)for(var v=0;v<3;++v)p[d][v]!==this.bounds[d][v]&&(h=!0),this.bounds[d][v]=p[d][v];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,c=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d<3;++d)r[d].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),l("tickFontStyle")&&(c=!0),l("tickFontWeight")&&(c=!0),l("tickFontVariant")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor");var y=[{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]}],m=[{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&&(g||c)&&this._text.update(this.bounds,this.labels,y,this.ticks,m):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,m),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new v,new v,new v];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var m=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var b=[0,0,0],_=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),c=u.cubeEdges,f=u.axis,p=n[12],d=n[13],v=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*v+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=c[A],this.lastCubeProps.axis[A]=f[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,c,f);e=this.gl;var S,E,L,C=m;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=f[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var O=[0,0,0];f[A]>0?O[A]=a[1][A]:O[A]=a[0][A];for(var P=0;P<2;++P){var I=(A+1+P)%3,D=(A+1+(1^P))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,O,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(P=0;P<2;++P)I=(A+1+P)%3,D=(A+1+(1^P))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,O,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=h(b,M[A].primalMinor),R=h(_,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];z[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=h(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m="raw"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],O=[],P=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),P=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),P=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return h.isView(t)&&!(t instanceof p)}(t)}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return v(n,n),v(n,n),v(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function m(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new x(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var b=x.prototype;b.pickSlots=1,b.setPickBase=function(t){this.pickId=t},b.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},b.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var _=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=f.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function L(t){return t[0]=t[1]=t[2]=0,t}function C(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function O(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function I(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],_[0]=2/o.drawingBufferWidth,_[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=_,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(a[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var y=M,m=0;m<16;++m)y[m]=0;for(m=0;m<4;++m)y[5*m]=1;y[5*v]=0,i[v]<0?y[12+v]=p[0][v]:y[12+v]=p[1][v],s(y,u,y),l.model=y;var x=(v+1)%3,b=(v+2)%3,P=L(w),I=L(T);P[x]=1,I[b]=1;var D=g(0,0,0,C(k,P)),z=g(0,0,0,C(A,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=P,P=I,I=R;var F=x;x=b,b=F}D[0]<0&&(P[x]=-1),z[1]>0&&(I[b]=-1);var B=0,N=0;for(m=0;m<4;++m)B+=Math.pow(u[4*x+m],2),N+=Math.pow(u[4*b+m],2);P[x]/=Math.sqrt(B),I[b]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=I,l.fragClipBounds[0]=O(S,d[0],v,-1e8),l.fragClipBounds[1]=O(S,d[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,_[0]=2/l.drawingBufferWidth,_[1]=2/l.drawingBufferHeight,u.screenSize=_,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=P,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function D(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},b.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},b.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=b,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:Y<0?1+S[1][0]:1,X*=X>0?1-S[0][1]:X<0?1+S[1][1]:1],K=A.cells||[],J=A.positions||[];for(k=0;k0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],O=(l-M)/(S-M),P=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(O)||(O=.5),isFinite(P)||(P=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,D,B,O),n.lerp(q,z,N,O),n.lerp(H,R,j,O),n.lerp(G,F,U,O);var W=n.create(),Y=n.create();n.lerp(W,V,H,P),n.lerp(Y,q,G,P);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:O,velocities:P,divergences:z});for(var B=0;B<100*u&&O.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(O.push(N),D=N,P.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n 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"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],O={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=O.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=O.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return O.showSurface=o,O.showContour=s,O}var I={model:T,view:T,projection:T,inverseModel:T.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},D=T.slice(),z=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=P(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var v=0,g=0,y=d(p,f.stride.slice());if("float32"===h?v=t.FLOAT:"float64"===h?(v=t.FLOAT,y=!1,h="float32"):"uint8"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),O+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"."===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?m:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],O=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=O,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),O=0,P=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[O++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++),O+=1,g+=T,A=2;A0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,b,w,B,U,o,s,l)),O+=1,g+=T,A=2;A0){if(A=1,L[O++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++),O+=1,g+=T,M=2;M0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,w,m,U,B,o,s,l)),O+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,O=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,O=S*w+E*_+A*b-M*x,P=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,P=P*(w=Math.cos(e))-(L=L*w+P*x+C*_-O*b)*x-(C=C*w+P*b+O*x-L*_)*b-(O=O*w+P*_+L*b-C*x)*_}var D=u(L,C,O,P);D>1e-6?(L/=D,C/=D,O/=D,P/=D):(L=C=O=0,P=1),this.rotation.set(t,L,C,O,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(z(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||"normal",s=n.fontWeight||"normal",l=n.fontVariant||"normal",u=[a,s,l,e].join("_"),c=o[u];c||(c=o[u]={" ":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],O=E[5],P=E[9],I=E[2],D=E[6],z=E[10],R=O*z-P*D,F=P*I-C*z,B=C*D-O*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],O=E*x+L*b+C*_,P=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(P,O)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],O=L[L.length-2];C%=2*Math.PI;var P=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,v-p),n=n.replace("?px ",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!m&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){"use strict";function n(t,e){for(var r=0;rf)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||et(t.length)?h(0):y(t):"Buffer"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t))}function v(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(t).length;default:if(i)return n?-1:J(t).length;e=(""+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return z(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new H.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,"number",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(s(e))}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return"undefined"==typeof BigInt?it:t}function it(){throw new Error("BigInt not supported")}},25928:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},48932:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,P=32,D=2,z=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,P,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,D,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C="function"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(z=t,F):z},F.update=function(t){return O(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:"3.8.2"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new D;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return K=function(t,e){return r.call(t,e)},K(t,e)};"function"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return"function"==typeof t?t:function(){return X(t,this)}}function Q(t){return"function"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function O(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function P(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*zt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Dt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(z),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Oe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function Dr(t){return Math.pow(2,10*(t-1))}function zr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||z,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=zn(s),a=Dn(a),s&&a;)l=Dn(l),(o=zn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!zn(o)&&(o.t=s,o.m+=f-c),a&&!Dn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^O){var P=(c+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Oi,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(zi,a)+","+Pi(zi,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uCt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*Dt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",P):S.on("mousemove.brush",C).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return L}function O(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var P,I,D,z,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement("a")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia("(prefers-reduced-motion: reduce)")),I.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&z&&(q?H(t):D=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,z),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((z=s.document.createElement("img")).onload=function(){D&&H(D),D=null,q=!0},z.onerror=function(){V=!0,D=null},z.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),$(t)};var X=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Z(t){return X.test(t)}var K=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function $(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct="mapbox-tiles",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),mt}var _t={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&Z(r);"json"===t.type&&i.headers.set("Accept","application/json");var u=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Lt,Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Lt=0;var Ot=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},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"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if("string"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},he.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ve(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in be)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Wt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Yt))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe("",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Xt,"to-color":Zt,"to-number":Wt,"to-string":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function De(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function ze(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Oe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ve(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new _e(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof me)&&"resolvedImage"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Zt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new wr(u,r,n,i,l):e.error("Type "+re(u)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Or(r.type,r,n,i):null}return new Or(r.type,r,n)},Or.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Or.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Or.prototype.outputDefined=function(){return!1},Or.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var zr=Dr("==",(function(t,e,r){return e===r}),Ir),Rr=Dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=Dr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Wt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":zr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,"number-format":Ur,object:_e,slice:Or,step:tr,string:_e,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:"success",value:t}}function Zr(t){return{result:"error",value:t}}function Kr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!_r[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=sn;else if("interval"===u)r=on;else if("categorical"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ue.parse(r):"formatted"===e.type?r=he.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],"geometry-type":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],"heatmap-density":[Wt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt("","data expressions not supported")]);var i=Ze(r,["zoom"]);if(!i&&!Jr(e))return Zr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Zr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return Kr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Ln(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(Pn)):"in"===r?Cn(t[1],t.slice(2)):"!in"===r?Pn(Cn(t[1],t.slice(2))):"has"===r?On(t[1]):"!has"===r?Pn(On(t[1])):"within"!==r||t}function Ln(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function On(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Pn(t){return["!",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Dn(t)}function Dn(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function fi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function mi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new Dt("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Oi=function(){return Mi},Pi=function(){if(Mi!==_i||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},Di=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};Di.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var zi=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ue.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};zi.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},zi.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new zi(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new zi(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Di(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Di(Math.floor(e.zoom),e)),t.expression.evaluate(new Di(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new zi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Wi),oi("ColorRampProperty",Yi);var Zi="-transition",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate($n,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},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(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi("GlyphOffsetArray",Ca);var Oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Oa);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Pa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(ba);oi("FeatureIndexArray",Ia);var Da=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,za=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}za.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>za.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+za.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>za.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},za.prototype.get=function(){return this.segments},za.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new za,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Oo(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Do(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",bo,{omit:["layers"]});var zo=new Xi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Xi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:zo},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Po("circle-radius",this,e)+Po("circle-stroke-width",this,e)+Io(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Do(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Os(t.i,t.x,t.y),n=new Os(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Os(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Os(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ds(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(zs(t,r,e),i(t[n],c)>0&&zs(t,r,n);f0;)h--}0===i(t[r],c)?zs(t,r,h):zs(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function zs(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.segments2=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),O=k?C:0,P=k?0:C;if(p&&this.addCurrentVertex(c,v,O,P,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",vl,{omit:["layers","patternFeatures"]});var gl=new Xi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Xi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Wi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Yi(Ft.paint_line["line-gradient"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Di(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Po("line-width",this,e),Po("line-gap-width",this,e)),n=Po("line-offset",this,e);return r/2+Math.abs(n)+Io(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Do(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*_l(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{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"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{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"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Ol=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Pl=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var Dl=4294967296,zl=1/Dl,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Ol(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Ol(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)P=j.rect,O=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;O=V.metrics}C=(_-S.scale)*Ll}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=O.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Ou(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function zu(t,e,r,n,i,a,o,s,l){var u=Pu(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),O=new a(m,d),P=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),O._matMult(N),I._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:O,bl:I,br:P,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),O=0;O0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Ku;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Ku}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-Ku;break;case"bottom-right":case"bottom-left":n=-i+Ku;break;case"bottom":n=-e+Ku;break;case"top":n=e-Ku}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'):"composite"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Di(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),dc={paint:new Xi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi("FormatSectionOverride",vc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pc.prototype.setNorthEast=function(t){return this._ne=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.setSouthWest=function(t){return this._sw=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Dc)e=t,r=t;else{if(!(t instanceof Pc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pc.convert(a))}var o=t;return this.extend(Dc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Dc(e.lng,e.lat),this._ne=new Dc(r.lng,r.lat)),this},Pc.prototype.getCenter=function(){return new Dc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pc.prototype.getSouthWest=function(){return this._sw},Pc.prototype.getNorthEast=function(){return this._ne},Pc.prototype.getNorthWest=function(){return new Dc(this.getWest(),this.getNorth())},Pc.prototype.getSouthEast=function(){return new Dc(this.getEast(),this.getSouth())},Pc.prototype.getWest=function(){return this._sw.lng},Pc.prototype.getSouth=function(){return this._sw.lat},Pc.prototype.getEast=function(){return this._ne.lng},Pc.prototype.getNorth=function(){return this._ne.lat},Pc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pc.prototype.contains=function(t){var e=Dc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pc.convert=function(t){return!t||t instanceof Pc?t:new Pc(t)};var Ic=6371008.8,Dc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Dc.prototype.wrap=function(){return new Dc(h(this.lng,-180,180),this.lat)},Dc.prototype.toArray=function(){return[this.lng,this.lat]},Dc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Dc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},Dc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pc(new Dc(this.lng-r,this.lat-e),new Dc(this.lng+r,this.lat+e))},Dc.convert=function(t){if(t instanceof Dc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Dc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Dc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var zc=2*Math.PI*Ic;function Rc(t){return zc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Dc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new Dc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Oc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Oc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new Di(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new Di(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send("enforceCacheSizeLimit",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Di(h),o),u["text-size"].possiblyEvaluate(new Di(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Di(v),o),u["icon-size"].possiblyEvaluate(new Di(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Di(18));for(var y=l.get("text-line-height")*Ll,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,O=t.addToLineVertexArray(e,r),P=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),P=4*W.length;var X=t.iconSizeData,Z=null;"source"===X.kind?(Z=[Au*s.layout.get("icon-size").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'):"composite"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,O.lineStartIndex,O.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,O.lineStartIndex,O.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get("text-rotate").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(D+=rc(t,e,J,a,s,d,b,v,O,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(z+=rc(t,e,n.vertical,a,s,d,b,v,O,lu.vertical,["vertical"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,P,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if("line"===E)for(var P=0,I=Fu(e.geometry,0,0,po,po);P1){var U=Du(j,A,r.vertical||v,n,g,x);U&&O(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var O=Object.keys(g.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}O.length?a.send("getImages",{icons:O,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function O(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:W(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),P=se(e.writingMode,S,O,d);if(P)return P}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;O--)C.push(E.path[O]);for(var P=1;P0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},O=null,P=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),X=e.collisionCircleDiameter;O=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||O.circles.length>0&&!O.collisionDetected,S=S&&O.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(P=Z(a.verticalIconBox)).box.length>0:(P=Z(a.iconBox)).box.length>0,S=S&&P.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),O&&(T&&i.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var O=C?L:ze;d(e.icon,a.numIconVertices,O),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=C?ze:L;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Oe=Math.pow(2,9),Pe=Math.pow(2,8),Ie=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Oe+e*Pe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform 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\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;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\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;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);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Or=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Dr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},zr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},jr=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get("raster-hue-rotate"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Dr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,O=0;O0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.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()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var On=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={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}};On.prototype.clone=function(){var t=new On(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},On.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},On.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},On.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},On.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},On.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},On.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},On.prototype.zoomScale=function(t){return Math.pow(2,t)},On.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},On.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},On.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},On.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},On.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},On.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},On.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},On.prototype.coordinateLocation=function(t){return t.toLngLat()},On.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},On.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},On.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},On.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},On.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},On.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},On.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},On.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},On.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},On.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},On.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},On.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var Dn={linearity:.3,easing:t.bezier(0,0,.3,1)},zn=t.extend({deceleration:2500,maxSpeed:1400},Dn),Rn=t.extend({deceleration:20,maxSpeed:1400},Dn),Fn=t.extend({deceleration:1e3,maxSpeed:360},Dn),Bn=t.extend({deceleration:1e3,maxSpeed:90},Dn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var O=E(0),P=function(t){return C(O)/C(O+_*t)},I=function(t){return w*((C(O)*(L(e=O+_*t)/C(e))-L(O))/S)/k;var e},D=(E(1)-O)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/P(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.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"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Li=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return"bottom-left"},Li.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>zi)throw new Error("maxPitch must be less than or equal to 60");var i=new On(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Oi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ii))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()zi)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.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),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.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(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Xi--,Zi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}$i.prototype.getDefaultPosition=function(){return"bottom-left"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._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 t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+c.x+"px,"+c.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},3108:function(t,e,r){"use strict";t.exports=r(26099)},26099:function(t,e,r){"use strict";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&O.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,v||b||_||k),e(r,n+E,E,P,v,b||_||k),e(r+E,n,E,P,b,_||k),e(r+E,n+E,E,P,_,k)}}(0,0,1,0,0,1),O},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},3256:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},84880:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},43752:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g="",y="",m="",x="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==h(t)||null===t)throw new d("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g="",y="",x="",m=""):(g="",y="",x="",m="")),"object"===h(u)&&null!==u&&"object"===h(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=_(u),c=_(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,f(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=w(t),c=u.split("\n"),f=w(e).split("\n"),p=0,d="";if("strictEqual"===r&&"object"===h(t)&&"object"===h(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!("object"===h(t)&&null!==t||"object"===h(e)&&null!==e||0===t&&0===e))return"".concat(b[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",p),"^"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s="\n ".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(g,"...").concat(x);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}p>3&&(s="\n".concat(g,"...").concat(x).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=b[r]+"\n".concat(y,"+ actual").concat(x," ").concat(m,"- expected").concat(x),L=" ".concat(g,"...").concat(x," Lines skipped");for(p=0;p1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(f[p-2]),S++),a+="\n ".concat(f[p-1]),S++),o=p,i+="\n".concat(m,"-").concat(x," ").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(c[p]),S++;else{var O=f[p],P=c[p],I=P!==O&&(!v(P,",")||P.slice(0,-1)!==O);I&&v(O,",")&&O.slice(0,-1)===P&&(I=!1,P+=","),I?(C>1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(P),i+="\n".concat(m,"-").concat(x," ").concat(O),S+=2):(a+=i,i="",1!==C&&0!==p||(a+="\n ".concat(P),S++))}if(S>20&&p30)for(k[26]="".concat(g,"...").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,"".concat(T," ").concat(k[0]))):o(this,f(e).call(this,"".concat(T,"\n\n").concat(k.join("\n"),"\n")))}else{var A=w(u),M="",S=b[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(b[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(w(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,f(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},25116:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function O(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function P(t){return Object.keys(t).filter(O).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},64928:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){"use strict";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){"use strict";var n=r(8844),i=r(53664),a=r(14500),o=i("%TypeError%"),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(l,s),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){"use strict";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){"use strict";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){"use strict";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){"use strict";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],u="rgb"===l;r=s=l.replace(/a$/,"");var c="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){"use strict";var n=r(19336);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},36116:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},42771:function(t,e,r){"use strict";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){"use strict";var n=r(30584);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},46416:function(t,e,r){"use strict";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){"use strict";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),D=0}}function q(){var t=R.now(),e=t-I;e>P&&(z-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-D>24?(t<1/0&&(C=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(q,P)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},87108:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Pt},geoCraigRaw:function(){return Ot},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return zr},geoLoximuthalRaw:function(){return Dr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Pi},geoTimes:function(){return Di},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=O(2),A=O(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function O(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=O(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.U)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=O(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*O(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=O((r-O(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+O(t*t-1))}(i(e/n))/3:function(t){return c(t+O(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(P(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=O(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=O(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=O(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/O(b*(b-2*c)+n*n)));i=l+2*a((f+u*O(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=O(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=O(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(O(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=O(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Ot(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(O(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Pt(){return ft(Ot).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*O(b/r)/2:0,L(1-r)]};var It=O(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.c)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=O(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=O(4-3*g(i(e)));return[2/O(6*b)*t*r,v(e)*O(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=O(b*(4+b));return[2/r*t*(1+O(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/O(b*(4+b))*t*(1+s(e)),2*O(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/O(2+b),2*e/O(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=O(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=O(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/O(2*b/3);return[t*O(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=O(b*(4+b))/2;return[t*r/(1+O(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*O((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/O(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=O(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=O(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=O(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=O(2/(1+l*l)),f=O((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=O(b),A=y/(x+k*v*w),M=A*A,S=O(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=O(E),C=L-1/L,P=L+1/L,I=S*C-2*c(L)-t,D=S*A*P-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*P*B-2*z/(1+M)+S*P*z+S*A*(V-V/E),Y=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(D*G-I*Y)/X,K=(I*W-D*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=O(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=O(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/O(u)),p=f+o*u*h,d=(1-a)/p,v=O(d),y=d*u,x=O(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),P=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*O(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(P+E*O(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=O(y-F),N=P+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*O(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Oe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*P(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[O(e),0,0,0,0,0,0,0,0],d=0;for(n=O(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=O(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=O(1-e),o=O(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=O(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=O(1-r*r),u=Pe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/O(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+O(u*u-(r-1)*l*4))/2;return[Pe(a(1/O(c)),r)*v(t),Pe(a(O((c/l-1)/r)),1-r)*v(e)]}return[0,Pe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=O(a),c=L(1/O(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=O(h),d=h*(1+l),v=p*(1-l),g=O(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/O(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=O(1-h*h),d=(n=-t,i=p*p,(r=.5*Pe(_,p*p)-e)?(s=Oe(r,i),n?(f=(u=Oe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Oe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=O(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=O(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*O(b/(e=b+4*n*r)),l=.5*a*(r+O(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*O(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/O(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=O(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=O(n*g(r)*O((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return O(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=O(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-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 hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-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 dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-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 gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-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 mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-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 br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-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 wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*O(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/O(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+O(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.c)(Cr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Pr).scale(144.049).clipAngle(89.999)}function Dr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=O(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*O((i-O(i*i-4*r))/r):1/O(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=O(6),Jr=O(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-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 fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+O(d*d+n*n/h)*a),_*(y+O(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+O((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=On(h)/On(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=O(n),a=(t-O(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*O(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return zi(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*O(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(O(c+(l=t+e)*l)),h=s(O(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(O(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return zi(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(O(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*O(3),ta=2*O(2*b*O(3)/Qi),ea=it(ta*O(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*O(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=O(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/O(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=O(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=O(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*O(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){"use strict";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){"use strict";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){"use strict";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){"use strict";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=O}function C(){P(d,v),w.point=T}function O(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=P;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function P(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var O=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(O,g),[T,(0,n.G)(O)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){"use strict";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){"use strict";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Ot,Pt,It=(0,v.c)(),Dt={point:y.c,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Ot=t,Ct=Pt=e}function Rt(t,e){Ot-=t,Pt-=e,It.add((0,g._I)(Ot*Ot+Pt*Pt)),Ot=t,Pt=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){"use strict";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){"use strict";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){"use strict";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,O=x*A;if(o.add((0,a.WE)(O*E*(0,a.g$)(L),b*M+O*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var P=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(P);var I=(0,i.CW)(u,P);(0,i.cJ)(I);var D=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>D||n===D&&(P[0]||P[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*O+b*P)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,O*l.oh]},j.angle=function(t){return arguments.length?(P=t%360*l.qw,V()):P*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){"use strict";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){"use strict";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){"use strict";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){"use strict";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){"use strict";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Ot=T(v),Pt={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Ot[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:O,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=zt(r,Pt),Pt.X=zt(s,Pt),Pt.c=zt(e,Pt),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function O(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+"000"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){"use strict";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){"use strict";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return P},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return D.c},utcYears:function(){return D.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),O=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=O,I=O.range,D=r(53528)},81628:function(t,e,r){"use strict";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){"use strict";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){"use strict";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){"use strict";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){"use strict";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){"use strict";var n=r(39640)(),i=r(53664),a=n&&i("%Object.defineProperty%",!0);if(a)try{a({},"a",{value:1})}catch(t){a=!1}var o=i("%SyntaxError%"),s=i("%TypeError%"),l=r(2304);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},81288:function(t,e,r){"use strict";var n=r(41820),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){"use strict";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){"use strict";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){"use strict";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){"use strict";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},81892:function(t,e,r){"use strict";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){"use strict";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},76024:function(t,e,r){"use strict";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){"use strict";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){"use strict";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){"use strict";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},80940:function(t,e,r){"use strict";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},52891:function(t,e,r){"use strict";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},60964:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){"use strict";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){"use strict";var n=r(94576);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},46492:function(t,e,r){"use strict";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=A(t,0,1),r=A(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],O=Math.sqrt(E*E+L*L+C*C);return Math.abs(O)<1e-6?null:(E*=O=1/O,L*=O,C*=O,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){"use strict";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){"use strict";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){"use strict";var n=r(46672)(),i=r(99676)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},85992:function(t){"use strict";t.exports=function(t){return t!=t}},1560:function(t,e,r){"use strict";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){"use strict";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},59736:function(t,e,r){"use strict";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},58908:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){"use strict";var n=r(46492),i=r(63436),a=r(99676),o=a("Object.prototype.toString"),s=r(46672)(),l=r(2304),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,O=4/3*s*L,P=[2*t-(t+C*Math.sin(T)),2*n-(n-O*Math.cos(T)),f+C*Math.sin(k),h-O*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},32868:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){"use strict";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},28648:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},5588:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},41924:function(t,e,r){"use strict";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},87968:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},90328:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},16024:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){"use strict";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){"use strict";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.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},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=z}));(P=P.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*P[t]).concat(z?k.slice(2*z):[]),r=(y.hole||[]).map((function(e){return e-z+(P[t]-D)})),n=l(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\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.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;O.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(O.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=P(p=r[f-2],17)^P(p,19)^p>>>10,r[f-7]),v=P(v=r[f-15],7)^P(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=P(h=o,6)^P(h,11)^P(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=P(u=d,2)^P(u,13)^P(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){O(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId="a1",O(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}O(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return q(W,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Ot={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){P.tick+=1,P.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&o){var c=o(t,"length");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},92784:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.i=e},15316:function(t,e,r){"use strict";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(O,t))}function O(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,O(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){"use strict";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},47264:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){"use strict";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){"use strict";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.o=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},39956:function(t,e,r){"use strict";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var O=0;Oe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){"use strict";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(O[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},O=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},7328:function(t,e,r){"use strict";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){"use strict";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},85488:function(t,e,r){"use strict";var n=r(73384),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){"use strict";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){"use strict";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},18496:function(t,e,r){"use strict";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},81680:function(t){"use strict";t.exports=function(t){return null!=t}},14144:function(t,e,r){"use strict";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},45223:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),L(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(75272);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?O(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?O(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?"0":"")+t.toString(16)}function O(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function P(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function D(t){return(t=(t||0)%360)<0?t+360:t}function z(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?P(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(D(this.h),z(this.s),z(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(D(this.h),", ").concat(100*z(this.s),"%, ").concat(100*z(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},86712:function(t,e,r){"use strict";t.exports=r(84224)},37240:function(t,e,r){"use strict";t.exports=r(51132)},29744:function(t,e,r){"use strict";t.exports=r(94456)},29352:function(t,e,r){"use strict";t.exports=r(67244)},96144:function(t,e,r){"use strict";t.exports=r(97776)},53219:function(t,e,r){"use strict";t.exports=r(61712)},4624:function(t,e,r){"use strict";t.exports=r(95856)},54543:function(t,e,r){"use strict";t.exports=r(54272)},45e3:function(t,e,r){"use strict";t.exports=r(85404)},62300:function(t,e,r){"use strict";t.exports=r(26048)},6920:function(t,e,r){"use strict";t.exports=r(66240)},10264:function(t,e,r){"use strict";t.exports=r(40448)},32016:function(t,e,r){"use strict";t.exports=r(64884)},27528:function(t,e,r){"use strict";t.exports=r(15088)},75556:function(t,e,r){"use strict";t.exports=r(76744)},39204:function(t,e,r){"use strict";t.exports=r(94704)},73996:function(t,e,r){"use strict";t.exports=r(62396)},16489:function(t,e,r){"use strict";t.exports=r(32028)},5e3:function(t,e,r){"use strict";t.exports=r(81932)},77280:function(t,e,r){"use strict";t.exports=r(45536)},33992:function(t,e,r){"use strict";t.exports=r(42600)},17600:function(t,e,r){"use strict";t.exports=r(21536)},49116:function(t,e,r){"use strict";t.exports=r(65664)},46808:function(t,e,r){"use strict";t.exports=r(29044)},36168:function(t,e,r){"use strict";t.exports=r(48928)},13792:function(t,e,r){"use strict";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){"use strict";t.exports=r(43480)},25120:function(t,e,r){"use strict";t.exports=r(6296)},4340:function(t,e,r){"use strict";t.exports=r(7404)},86152:function(t,e,r){"use strict";t.exports=r(65456)},56816:function(t,e,r){"use strict";t.exports=r(22020)},89296:function(t,e,r){"use strict";t.exports=r(29928)},20260:function(t,e,r){"use strict";t.exports=r(75792)},32140:function(t,e,r){"use strict";t.exports=r(156)},84764:function(t,e,r){"use strict";t.exports=r(45499)},48824:function(t,e,r){"use strict";t.exports=r(3296)},69967:function(t,e,r){"use strict";t.exports=r(4184)},8363:function(t,e,r){"use strict";t.exports=r(36952)},86636:function(t,e,r){"use strict";t.exports=r(38983)},70192:function(t,e,r){"use strict";t.exports=r(11572)},81604:function(t,e,r){"use strict";t.exports=r(76924)},63796:function(t,e,r){"use strict";t.exports=r(62944)},89336:function(t,e,r){"use strict";t.exports=r(95443)},67484:function(t,e,r){"use strict";t.exports=r(34864)},97312:function(t,e,r){"use strict";t.exports=r(76272)},42192:function(t,e,r){"use strict";t.exports=r(97924)},29800:function(t,e,r){"use strict";t.exports=r(15436)},63560:function(t,e,r){"use strict";t.exports=r(5621)},89904:function(t,e,r){"use strict";t.exports=r(91304)},50248:function(t,e,r){"use strict";t.exports=r(41724)},65832:function(t,e,r){"use strict";t.exports=r(31991)},79440:function(t,e,r){"use strict";t.exports=r(22869)},13752:function(t,e,r){"use strict";t.exports=r(67776)},83096:function(t,e,r){"use strict";t.exports=r(95952)},72196:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},13916:function(t,e,r){"use strict";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},90272:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(O,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:u.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-X),transform:s(Y,X)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+O+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",W(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+O/B.w,ot+Q-O/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=O+B.l+tt*I,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*D+3+.75*yt,t=O+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(X);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+K+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-K-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?O:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?O:0),q=(o?st:rt)-(o?$:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+O)+H).attr("y",(o?st+P-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max($-(o?2*P+xt:2*O+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=z?B.t-W:-W,t.attr("transform",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),X=Y[0].length,Z=t.select("."+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?("pixels"===h?(tt.y=D,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=D+l*ot,tt.yb=D-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-D,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=D-y*ot,tt.yb=D+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&z?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:z||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){"use strict";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},47128:function(t,e,r){"use strict";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},95504:function(t,e,r){"use strict";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){"use strict";var n=r(3400),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){"use strict";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){"use strict";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},98192:function(t,e){"use strict";e.u={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.c={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},43616:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t){return"none"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,c=e.lineposition,f=e.textcase;s&&t.style("font-family",s),o+1&&t.style("font-size",o+"px"),a&&t.call(u.fill,a),i&&t.style("font-weight",i),n&&t.style("font-style",n),r&&t.style("font-variant",r),f&&t.style("text-transform",b(function(t){return _[t]}(f))),l&&t.style("text-shadow","auto"===l?h.makeTextShadow(u.contrast(a)):b(l)),c&&t.style("text-decoration-line",b(function(t){return t.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(c)))};var _={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&"none"!==a.type){var d,v,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(E,r,y,"linear",a.colorscale,"fill",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=nt(t,r),p=W(t,r);e.attr("d",A(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var k=t.mgc;k?y=!0:k=b.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,_,[[0,k],[1,d]],"fill")}else if(T){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),O=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),D=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+="-"+t.i),x.pattern(e,"point",a,z,T,I,D,t.mcc,w.fillmode,O,C,P)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",A(x.symbolNumber(a),o,nt(n,e),W(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function D(t,e,r){return r&&(t=j(t)),e?R(t[1]):z(t[0])}function z(t){var e=n.round(t,2);return L=e,e}function R(t){var e=n.round(t,2);return C=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[z(e[0]+(h&&c/h)),R(e[1]+(h&&f/h))],[z(e[0]-(p&&c/p)),R(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=I(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=I(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r="M"+z(t[0][0])+","+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var G=/translate\([^)]*\)\s*$/;function W(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=W;var Y,X,Z,K,J,$,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=Q(v[1]-n,v[0]-r),y=Q(d[1]-n,d[0]-r);if("north"===s)f=a/180*Math.PI;else if("previous"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=Y/180*Math.PI,_=X/180*Math.PI,w=b-m,T=tt(_)*et(w),k=et(_)*tt(x)-tt(_)*et(x)*tt(w);f=-Q(T,k)-Math.PI,Y=h,X=p}var A=rt(g,[tt(f),0]),M=rt(y,[et(f),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||$===e.uid&&t.i===J+1||(a=null)}if("previous"===s&&!e._geo)if($===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-Z,E=n-K,L=e.line&&e.line.shape||"",C=L.slice(L.length-1);"h"===C&&(E=0),"v"===C&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return Z=r,K=n,J=t.i,$=e.uid,a}x.getMarkerAngle=nt},71984:function(t,e,r){"use strict";var n,i,a,o,s=r(21984),l=r(33428).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},92036:function(t,e,r){"use strict";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},55756:function(t,e,r){"use strict";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},55056:function(t,e,r){"use strict";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexK[0]._length||_t<0||_t>J[0]._length)return v.unhoverRaw(t,e)}else bt="xpx"in e?e.xpx:K[0]._length/2,_t="ypx"in e?e.ypx:J[0]._length/2;if(e.pointerX=bt+K[0]._offset,e.pointerY=_t+J[0]._offset,nt="xval"in e?x.flat(b,e.xval):x.p2c(K,bt),it="yval"in e?x.flat(b,e.yval):x.p2c(J,_t),!i(nt[0])||!i(it[0]))return o.warn("Fx.hover failed",e,t),v.unhoverRaw(t,e)}var At=1/0;function Mt(r,n){for(ot=0;otvt&&(gt.splice(0,vt),At=gt[0].distance),M&&0!==rt&&0===gt.length){dt.distance=rt,dt.index=!1;var c=lt._module.hoverPoints(dt,ht,pt,"closest",{hoverLayer:_._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=rt}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=Et(p),(!mt.vLinePoint||mt.vLinePoint.spikeDistance>f.spikeDistance)&&(mt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=Et(g),(!mt.hLinePoint||mt.hLinePoint.spikeDistance>f.spikeDistance)&&(mt.hLinePoint=f))}}}}}function St(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Nt-1;jt--)Ht(gt[jt]);gt=Ut,Pt()}var Gt=t._hoverdata,Wt=[],Yt=H(t),Xt=G(t);for(at=0;at1||gt.length>1)||"closest"===S&&xt&>.length>1,se=d.combine(_.plot_bgcolor||d.background,_.paper_bgcolor),le=z(gt,{gd:t,hovermode:S,rotateLabels:oe,bgColor:se,container:_._hoverlayer,outerContainer:_._paper.node(),commonLabelOpts:_.hoverlabel,hoverdistance:_.hoverdistance}),ue=le.hoverLabels;if(x.isUnifiedHover(S)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function k(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=F(t,e),v=t.anchor,k="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(E+p.y)-T(t.by/2-E))+T(t.by);else{var M=w(k*E+p.x),S=M+w(k*t.bx);u=t.crossPos+Math.min(M,S),c=t.crossPos+Math.max(M,S)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?A:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(k)}for(s=g.length-1;s>=0;s--){var O=g[s];for(l=O.length-1;l>=0;l--){var P=O[l],I=P.datum;I.offset=P.dp,I.del=P.del}}}(ue,oe,_,le.commonLabelBoundingBox),B(ue,oe,_._invScaleX,_._invScaleY)),l&&l.tagName){var ce=m.getComponentMethod("annotations","hasClickToShow")(t,Wt);h(n.select(l),ce?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Gt)&&(Gt&&t.emit("plotly_unhover",{event:e,points:Gt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:K,yaxes:J,xvals:nt,yvals:it}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=H(i),o=G(i),s=z(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(m.traceIs(v,"gl3d")){var g=i._fullLayout[v.scene]._scene.container,y=g.offsetLeft,x=g.offsetTop;c+=y,f+=y,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function z(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var y=e.fontFamily||b.HOVERFONT,k=e.fontSize||b.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,S=e.fontVariant||i.font.variant,C=e.fontTextcase||i.font.textcase,O=e.fontLineposition||i.font.lineposition,P=e.fontShadow||i.font.shadow,D=t[0],z=D.xa,F=D.ya,B=a.charAt(0),N=B+"Label",j=D[N];if(void 0===j&&"multicategory"===z.type)for(var U=0;Ui.width-T&&(I=i.width-T),e.attr("d","M"+(x-I)+",0L"+(x-I+E)+","+w+E+"H"+T+"v"+w+(2*L+_.height)+"H"+-T+"V"+w+E+"H"+(x-I-E)+"Z"),x=I,Q.minX=x-T,Q.maxX=x+T,"top"===z.side?(Q.minY=b-(2*L+_.height),Q.maxY=b-L):(Q.minY=b+L,Q.maxY=b+(2*L+_.height))}else{var R,B,N;"right"===F.side?(R="start",B=1,N="",x=z._offset+z._length):(R="end",B=-1,N="-",x=z._offset),b=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",R),e.attr("d","M0,0L"+N+E+","+E+"V"+(L+_.height/2)+"h"+N+(2*L+_.width)+"V-"+(L+_.height/2)+"H"+N+E+"V-"+E+"Z"),Q.minY=b-(L+_.height/2),Q.maxY=b+(L+_.height/2),"right"===F.side?(Q.minX=x+E,Q.maxX=x+E+(2*L+_.width)):(Q.minX=x-E-(2*L+_.width),Q.maxX=x-E);var U,V=_.height/2,H=q-_.top-V,G="clip"+i._uid+"commonlabel"+F._id;if(x<_.width+2*L+E){U="M-"+(E+L)+"-"+V+"h-"+(_.width-L)+"V"+V+"h"+(_.width-L)+"Z";var Y=_.width-x+L;f.positionText(s,Y,H),"end"===R&&s.selectAll("tspan").each((function(){var t=n.select(this),e=p.tester.append("text").text(t.text()).call(p.font,m),i=W(r,e.node());Math.round(i.width)=0?dt:vt+mt=0?vt:Mt+mt=0?ht:pt+xt=0?pt:St+xt=0,"top"!==t.idealAlign&&J||!$?J?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,$=B-U/2-Q>=0,"left"!==t.idealAlign&&J||!$)if(J)B+=U/2,t.anchor="start";else{t.anchor="middle";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor="end";t.crossPos=B}w.attr("text-anchor",t.anchor),D&&I.attr("text-anchor",t.anchor),e.attr("transform",l(B,N)+(s?u(T):""))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function R(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=V(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(D,(function(e,r){return s=V(r,t.nameLength),""}))}return[l,s]}function F(t,e){var r=0,n=t.offset;return e&&(n*=-S,r=t.offset*M),{x:r,y:n}}function B(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select("text.nums"),h=t.anchor,d="end"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(E+L))+s*(i.txwidth+L),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+L),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=F(t,e),y=g.x,m=g.y,x="middle"===h;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*E+y)+","+o(E+m)+"v"+o(t.by/2-E)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*E+y)+"V"+o(m-E)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+L,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==h?(c.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+L:-t.bx-L):"right"===w&&"end"!==h&&(c.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-L:t.bx+L)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(f.positionText,a(v.text2ShiftX+v.alignShift*L+y),o(m+t.ty0-t.by/2+L)),r.select("rect").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function N(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("fontWeight","htw","hoverlabel.font.weight"),c("fontStyle","hty","hoverlabel.font.style"),c("fontVariant","htv","hoverlabel.font.variant"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function j(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var O,P,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(O=F,P=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),O=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:P,"stroke-width":z+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function U(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function V(t,e){return f.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function q(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function H(t){return t.offsetTop+t.clientTop}function G(t){return t.offsetLeft+t.clientLeft}function W(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},41008:function(t,e,r){"use strict";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},93024:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:"component",name:"fx",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(62376)}},65460:function(t,e,r){"use strict";var n=r(92456),i=r(25376),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},88336:function(t,e,r){"use strict";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},81976:function(t,e,r){"use strict";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){"use strict";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),O="paper"===p("yref"),P="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?O?(E=1.1,L="bottom"):(E=1,L="top"):O?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",P?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",D)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style("stroke-width",h.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(S);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(i.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=O(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&"right"===S,L=i.x>1||1===i.x&&"left"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:D:L?I&&"right"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(t){var e=k(t,i,g);z=Math.max(z,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&""!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k="paper"===h.xref,M="paper"===h.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[O(h)]*h._effHeight:d.height*(1-h.y)-g[O(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=O(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var P=S,I=E;S=k?i.constrain(S,0,d.width-h._width):P,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==P&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==I&&i.log("Constrain "+w+".y to make legend fit inside graph")}u.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||h._height<=h._maxHeight||t._context.staticPlot){var D=h._effHeight;T&&(D=h._height),U.attr({width:h._width-_,height:D-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select("rect").attr({width:h._width-2*_,height:D-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var z,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select("rect").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on("wheel",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,F=Z)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,z,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=u.getTranslate(N);m=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==m&&void 0!==x){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+".x"]=e,r[w+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on("edit",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(n===_?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)"left"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function O(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?c.visible&&c.type===o:i.traceIs(c,"bar"),v=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);v.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if("middle"===l&&0===s||!u||!c)i.attr("transform",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr("transform",o(h,f))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x),b.tC=y("textfont.textcase",x),b.tE=y("textfont.lineposition",x),b.tS=y("textfont.shadow",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){"use strict";r(76052),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},44248:function(t,e,r){"use strict";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(P=["toggleHover"],I=["resetViews"]):y?(O=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],I=["resetGeo"]):g?(P=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(O=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],I=["resetViewMapbox"]):b?P=["hoverClosestGl2d"]:m?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):P=["toggleHover"],v&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b="col-resize",y+_>r._length)return;c=y+_,p=m;break;case u:if(b="col-resize",m+_<0)return;c=y,p=m+_;break;default:b="ew-resize",c=v,p=v+_}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){"use strict";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},81004:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},5968:function(t,e,r){"use strict";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e,O.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){"use strict";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},96084:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r){var n,i,s="x"===t._id.charAt(0)?"x":"y",l="category"===t.type||"multicategory"===t.type,u=0,c=0,f=l?t.r2c:t.d2c;if("scaled"===e[s+"sizemode"]?(n=e[s+"0"],i=e[s+"1"],l&&(u=e[s+"0shift"],c=e[s+"1shift"])):(n=e[s+"anchor"],i=e[s+"anchor"]),void 0!==n)return[f(n)+u,f(i)+c];if(e.path){var h,p,d,v,g=1/0,y=-1/0,m=e.path.match(a.segmentRE);for("date"===t.type&&(f=o.decodeDate(f)),h=0;hy&&(y=v)));return y>=g?[g,y]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var G=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,O="y1"):(M=_,C="y1",S=p,O="y0"),it(n),st(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),nt.moveFn="move"===z?at:ot,nt.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),lt(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||lt(l)}};function it(r){if(b(t))z=null;else if(j)z="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=nt.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),z=l.split("-")[0]}}function at(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt($(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(c=function(t){return et(Q(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else B?V("xanchor",r.xanchor=tt(w+n)):(V("x0",r.x0=tt(f+n)),V("x1",r.x1=tt(x+n))),N?V("yanchor",r.yanchor=et(A+i)):(V("y0",r.y0=et(p+i)),V("y1",r.y1=et(_+i)));e.attr("d",m(t,r)),st(l,r),u(t,s,r,q)}function ot(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt($(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(c=function(t){return et(Q(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(D,o,c))}else if(j){if("resize-over-start-point"===z){var h=f+n,d=N?p-i:p+i;V("x0",r.x0=B?h:tt(h)),V("y0",r.y0=N?d:et(d))}else if("resize-over-end-point"===z){var v=x+n,g=N?_-i:_+i;V("x1",r.x1=B?v:tt(v)),V("y1",r.y1=N?g:et(g))}}else{var b=function(t){return-1!==z.indexOf(t)},T=b("n"),G=b("s"),Y=b("w"),X=b("e"),Z=T?M+i:M,K=G?S+i:S,J=Y?E+n:E,rt=X?L+n:L;N&&(T&&(Z=M-i),G&&(K=S-i)),(!N&&K-Z>F||N&&Z-K>F)&&(V(C,r[C]=N?Z:et(Z)),V(O,r[O]=N?K:et(K))),rt-J>R&&(V(P,r[P]=B?J:tt(J)),V(I,r[I]=B?rt:tt(rt)))}e.attr("d",m(t,r)),st(l,r),u(t,s,r,q)}function st(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=$(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Q(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function lt(t){t.selectAll(".visual-cue").remove()}d.init(nt),rt.node().onmousemove=it}(t,F,c,e,r,z):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("above"===c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):"between"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,l,c);if("pixel"===r.xsizemode){var A=l(r.xanchor);f=A+r.x0+_,h=A+r.x1+w}else f=l(r.x0)+_,h=l(r.x1)+w;if("pixel"===r.ysizemode){var M=c(r.yanchor);p=M-r.y0+T,d=M-r.y1+k}else p=c(r.y0)+T,d=c(r.y1)+k;if("line"===v)return"M"+f+","+p+"L"+h+","+d;if("rect"===v)return"M"+f+","+p+"H"+h+"V"+d+"H"+f+"Z";var S=(f+h)/2,E=(p+d)/2,L=Math.abs(S-f),C=Math.abs(E-p),O="A"+L+","+C,P=S+L+","+E;return"M"+P+O+" 0 1,1 "+S+","+(E-C)+O+" 0 0,1 "+P+"Z"}},41592:function(t,e,r){"use strict";var n=r(4016);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)("shapes"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t){return t.x0shift||0}function i(t){return t.x1shift||0}function a(t){return t.y0shift||0}function o(t){return t.y1shift||0}function s(t,r){return e(t.x1,r)+i(t)-e(t.x0,r)-n(t)}function l(t,r,n){return e(t.y1,n)+o(t)-e(t.y0,n)-a(t)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:l(t,0,r)/s(t,e)},dx:s,dy:l,width:function(t,e){return Math.abs(s(t,e))},height:function(t,e,r){return Math.abs(l(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(s(t,e),2)+Math.pow(l(t,0,r),2))},xcenter:function(t,a){return r((e(t.x1,a)+i(t)+e(t.x0,a)+n(t))/2,a)},ycenter:function(t,n,i){return r((e(t.y1,i)+o(t)+e(t.y0,i)+a(t))/2,i)}}},89861:function(t,e,r){"use strict";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},60876:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[_.side];a.attr("transform",l(E[0],E[1]))}}}function ht(t,e){t.text(e).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))}if(at.call(ut,ot),et&&(S?at.on(".opacity",null):(ht(at,x),E=!0),at.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==b?o.call("_guiRestyle",t,m,e,b):o.call("_guiRelayout",t,m,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ut)})).on("input",(function(t){this.text(t||" ").call(f.positionText,w.x,w.y)})),N)){if(N&&!S){var pt=at.node().getBBox(),dt=pt.y+pt.height+1.6*Y;ot.attr("y",dt)}V?ot.on(".opacity",null):(ht(ot,j),q=!0),ot.call(f.makeEditable,{gd:t}).on("edit",(function(e){o.call("_guiRelayout",t,"title.subtitle.text",e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ut)})).on("input",(function(t){this.text(t||" ").call(f.positionText,ot.attr("x"),ot.attr("y"))}))}return at.classed("js-placeholder",E),ot&&ot.classed("js-placeholder",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}},88444:function(t,e,r){"use strict";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},73712:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},91384:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){"use strict";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,O=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,I=d+v,D=g;I+O>l&&(I=l-O);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:O,height:P}),this._vbarYMin=D+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+O+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},36208:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},48164:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},26880:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},69104:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},99168:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},13448:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},2264:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},9616:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},64884:function(t,e,r){"use strict";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},98308:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){"use strict";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){"use strict";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=v(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=v(t)),"auto"===t?e.set("auto"):n(t)?e.set(h(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||f(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!f(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var O=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(k,O.toMonthIndex(k,A,P),M)}else C=O.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var O=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),O[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var P=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+P);return u.setUTCMonth(u.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},3400:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.geometricMean=m.geometricMean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var z=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return z.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},37804:function(t,e,r){"use strict";var n=r(22296),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},30988:function(t,e,r){"use strict";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){"use strict";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){"use strict";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){"use strict";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){"use strict";var n=r(38248),i=r(25928);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){"use strict";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){"use strict";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),O=n.select(t.node().parentNode);if(!O.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){O.selectAll("svg."+P).remove(),O.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=O.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:P,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===P[0])m=x-v/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){O.empty()||(P=t.attr("class")+"-math",O.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),O=0;O|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(m),a=[],o="",s=0,l=0;l3?a.push(u.substr(0,p-3)+"..."):a.push(u.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function O(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){"use strict";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){"use strict";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},6580:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},69820:function(t,e,r){"use strict";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),O=[],P=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?O.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===P&&(P=_);else for(b=0;b=0;x--)L.splice(O[x],1),C&&C.splice(O[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===P)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x=P);x++)D.push(_);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function z(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[z];)z--;var R=I.parts[z],F=I.parts[z-1]+"."+R,j=I.parts.slice(0,z).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==D){k[P]=D,S[P]="reverse"===R?D:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==D)for(var Z in G.impliedEdits)E(o.relativeAttr(P,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(P))if(D){E("autosize",null);var J="height"===P?"width":"height";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",D?null:l.width),E("height",D?null:l.height);else if(F.match(W))O(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){O(F),s(l,j+"._inputRange").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){L=U;var Q="linear"===q.type&&"log"===D,tt="log"===q.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,q,D,E),c.getComponentMethod("images","convertCoords")(t,q,D,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(D)?S[P]=null:w.isRemoveVal(D)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):("dragmode"===P&&(!1===D&&!1!==H||!1!==D&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===D||"select"===D)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(D))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+"["+o+"]";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+"."+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x="start",b=r(33816).zindexSeparator;function _(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function w(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function w(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,e,v);if(g>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},67024:function(t,e,r){"use strict";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){"use strict";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,O=Array.isArray(k);if(O&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(O?Math.min(P,k[M].length):P);A++)S=O?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,L)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},19280:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>O?M/A>P&&(w=b,T=_,P=M/A):M/C>P&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},P=M/C));if(h===v){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,z/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=P;n--)O(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},54460:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,O=v.ONEMILLI,P=v.ONEMICROSEC,I=v.MINUS_SIGN,D=v.BADNUM,z={K:"zeroline"},R={K:"gridline",L:"path"},F={K:"minor-gridline",L:"path"},B={K:"tick",L:"path"},N={K:"tick",L:"text"},j={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},U=r(84284),V=U.MID_SHIFT,q=U.CAP_SHIFT,H=U.LINE_SPACING,G=U.OPPOSITE_SIDE,W=t.exports={};W.setConvert=r(78344);var Y=r(52976),X=r(79811),Z=X.idSort,K=X.isLinked;W.id2name=X.id2name,W.name2id=X.name2id,W.cleanId=X.cleanId,W.list=X.list,W.listIds=X.listIds,W.getFromId=X.getFromId,W.getFromTrace=X.getFromTrace;var J=r(19280);W.getAutoRange=J.getAutoRange,W.findExtremes=J.findExtremes;var $=1e-4;function Q(t){var e=(t[1]-t[0])*$;return[t[0]-e,t[1]+e]}W.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},W.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},W.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==W.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=W.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},W.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:W.getFromId(e,r).cleanPos)(t)},W.redrawComponents=function(t,e){e=e||W.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},W.saveRangeInitial=function(t,e){for(var r=W.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=W.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=W.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=W.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=W.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},W.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=W.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,W.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?nt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?it(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":nt(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?nt(f,h)||(t.dtick=it(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},W.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,W.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=W.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtickt.range[1],p=!t.ticklabelindex||s.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],d=s.simpleMap(t.range,t.r2l,void 0,void 0,e),v=d[1]=(V?0:1);q--){var H=!q;q?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var G=q?t:s.extendFlat({},t,t.minor);if(H?W.prepMinorTicks(G,t,e):W.prepTicks(G,e),"array"!==G.tickmode)if("sync"!==G.tickmode){var Y=Q(d),X=Y[0],Z=Y[1],K=i(G.dtick),J="log"===l&&!(K||"L"===G.dtick.charAt(0)),$=W.tickFirst(G,e);if(q){if(t._tmin=$,$=Z:nt<=Z;nt=W.tickIncrement(nt,it,v,u)){if(q&&tt++,G.rangebreaks&&!v){if(nt=z)break}if(N.length>R||nt===rt)break;rt=nt;var at={value:nt};q?(J&&nt!==(0|nt)&&(at.simpleLabel=!0),c>1&&tt%c&&(at.skipLabel=!0),N.push(at)):(at.minor=!0,j.push(at))}}else N=[],F=st(t);else q?(N=[],F=lt(t,!H)):(j=[],B=lt(t,!H))}!j||j.length<2?p=!1:(r=(j[1].value-j[0].value)*(h?-1:1),n=t.tickformat,(/%f/.test(n)?r>=P:/%L/.test(n)?r>=O:/%[SX]/.test(n)?r>=C:/%M/.test(n)?r>=L:/%[HI]/.test(n)?r>=E:/%p/.test(n)?r>=S:/%[Aadejuwx]/.test(n)?r>=M:/%[UVW]/.test(n)?r>=A:/%[Bbm]/.test(n)?r>=k:/%[q]/.test(n)?r>=_:!/%[Yy]/.test(n)||r>=m)||(p=!1));if(p){var ot=N.concat(j);f&&N.length&&(ot=ot.slice(1)),(ot=ot.sort((function(t,e){return t.value-e.value})).filter((function(t,e,r){return 0===e||t.value!==r[e-1].value}))).map((function(t,e){return void 0!==t.minor||t.skipLabel?null:e})).filter((function(t){return null!==t})).forEach((function(t){p.map((function(e){var r=t+e;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==D&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(U,t,t._definedDelta),t.rangebreaks){var gt="y"===t._id.charAt(0),yt=1;"auto"===t.tickmode&&(yt=t.tickfont?t.tickfont.size:12);var mt=NaN;for(a=N.length-1;a>-1;a--)if(N[a].drop)N.splice(a,1);else{N[a].value=Ft(N[a].value,t);var xt=t.c2p(N[a].value);(gt?mt>xt-yt:mtz||nz&&(r.periodX=z),n10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(bt(t.exponentformat)&&!_t(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function mt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}W.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*gt(e,n,ut);else if(o>T)e/=T,t.dtick="M"+gt(e,1,ct);else if(o>M){if(t.dtick=gt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ht),!r){var l=W.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=gt(e,E,ct):o>L?t.dtick=gt(e,L,ft):o>C?t.dtick=gt(e,C,ft):(n=a(10),t.dtick=gt(e,n,ut))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+gt(e,n,ut)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Rt(t)?(t.tick0=0,n=1,t.dtick=gt(e,n,vt)):(t.tick0=0,n=a(10),t.dtick=gt(e,n,ut));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},W.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?dt:pt,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},W.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=wt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||bt(p)&&_t(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":I)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":I)+h:(e.text=wt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):Rt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=wt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=wt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=I+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=wt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},W.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return W.hoverLabelText(t,n,r)+" - "+W.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=W.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":I+o:o};var xt=["f","p","n","μ","m","","k","M","G","T"];function bt(t){return"SI"===t||"B"===t}function _t(t){return t>14||t<-15}function wt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=W.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};yt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,I);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"
":"B"===l&&9===u?t+="B":bt(l)&&(t+=xt[u/3+5])),a?I+t:t}function Tt(t,e){if(t){var r=Object.keys(j).reduce((function(t,r){return-1!==e.indexOf(r)&&j[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function kt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=W.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=W.drawOne(t,n,r);return n._shiftPusher&&jt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},W.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=W.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var b=e.linewidth/2||0;"inside"===e.ticks&&(b+=e.ticklen),jt(e,b,p,!0),jt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=W.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=St(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=St(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(Tt(n,e.automargin),Tt(i,e.automargin)),a.autoMargin(t,Ct(e),n),a.autoMargin(t,Ot(e),i),a.autoMargin(t,Pt(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=Lt(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=W.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},W.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},W.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},W.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*q,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-q)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=t.ticklabelshift||0,n=t.ticklabelstandoff||0,i=e[0],a=e[1],o=t.range[0]>t.range[1],s=t.ticklabelposition&&-1!==t.ticklabelposition.indexOf("inside"),u=!s;if(r&&(r*=o?-1:1),n){var c=t.side;n*=s&&("top"===c||"left"===c)||u&&("bottom"===c||"right"===c)?1:-1}return"x"===t._id.charAt(0)?function(e){return l(i+t._offset+t.l2p(At(e))+r,a+n)}:function(e){return l(a+n,i+t._offset+t.l2p(At(e))+r)}},W.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},W.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=V:x=-90===M&&"bottom"===k?q:90===M&&"top"===k?V:.5,T=V/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?q:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*q*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*V},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},W.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Mt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Nt(e,[B]),o.attr("transform",r.transFn)},W.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&W.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,Mt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Nt(e,[R,F])}},W.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=W.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Z(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Nt(e,[z])},W.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+"tick",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll("g."+c).data(e.showticklabels?f:[],Mt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=u.lineCount(o),v=H*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}g.enter().append("g").classed(c,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Nt(e,[N]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=Lt(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*D&&(O=D,E[S]=L[S]=P[S])}var U=Math.abs(O-C);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var V=s.syncOrAsync(b);return V&&V.then&&t._promises.push(V),V},W.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},W.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===D)&&(Et(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=W.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){"use strict";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,u=r("categoryorder",a);"array"===u&&(l=r("categoryarray")),s||"array"!==u||(u=e.categoryorder="trace"),"trace"===u?e._initialCategories=[]:"array"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FO&&(O=F);h/=(O-C)/(2*P),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,O)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,K,J,e.id,Ot),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:P,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>O||o>O?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>O||o>O){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]0){var g=p.id;if(-1!==g.indexOf(d))continue;g+=d+(c+1),p=a.extendFlat({},p,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,m=[],x=0;x1&&(w+=d+_),b.push(n+w),r=0;rb[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},42568:function(t,e,r){"use strict";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},96312:function(t,e,r){"use strict";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var u,c=e.getAutorangeDflt(l,i),f=r("autorange",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==f&&!0!==f)&&(null===l[0]||"min"!==f&&"max reversed"!==f)&&(null===l[1]||"max"!==f&&"min reversed"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r("autorange",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},21160:function(t,e,r){"use strict";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function O(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=O,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return O(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){"use strict";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var O=this.bounds=y.getBounds(C),P=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((O[1][0]-O[0][0])/(D[1][0]-D[0][0]),(O[1][1]-O[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*P):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*P);var R=this.midPt=[(O[0][0]+O[1][0])/2,(O[0][1]+O[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(O),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},10816:function(t,e,r){"use strict";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&O<0&&(O+=360);var P,I,D,z=(C+O)/2;if(!p){var R=d?f.projRotate:[z,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:P,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},79248:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:"zoom"})})),A=h.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(u),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,h,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){"use strict";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},9020:function(t,e,r){"use strict";var n=r(43080),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var O=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:O}),L.bbox=O[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if("cube"===D)g=[1,1,1];else if("manual"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if("auto"!==D&&"data"!==D)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,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:o,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:o,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:s,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:s,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:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),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"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:u,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@"+i+"."].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:",u.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\')'}}},89032:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},33688:function(t,e,r){"use strict";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p="mapbox",d=e.constants=r(47552);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split("|").join("
");b.text(T).attr("data-unformatted",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr("transform",a(-3,8-_.height)),x.insert("rect",".static-attribution").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&D.length>1){for(l.getComponentMethod("grid","sizeDefaults")(u,s),o=0;o15&&D.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var O=g[C].l||{},I=g[C].b||{},D=O.val,z=O.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var q=(z*U+(V-B)*D)/(U-D),H=(V*(1-D)+(z-B)*(1-U))/(U-D);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!f.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),"object"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],O=r.cy=S+E*b[3],P=r.cxx=C-M,I=r.cyy=O-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,O)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){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(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return O(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,O=s.radialAxis,P=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),u=P((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr("fill-rule","evenodd"),W=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],O=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?z>L:zn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",r.font,{overrideDflt:{color:d}}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){"use strict";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var O="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",O);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",O="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",P="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){"use strict";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},84664:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=h(n,"textfont",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,"insidetextfont",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,"pathbar.textfont",_)}y&&h(n,"outsidetextfont",m),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),u&&n("constraintext"),c&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c("xhoverformat"),c("yhoverformat"),c("zorder"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var h=c("textposition");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||a.defaultLine,{axis:"y"}),v(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return O(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){"use strict";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:"trace",name:"bar",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},39324:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},37156:function(t,e,r){"use strict";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return"auto"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function O(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);"auto"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var O=i.left*p+i.right*h,P=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,D=(r+n)/2,z=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,z=-B*F):(I=e-B*w,z=B*F):f?(D=r+B*w,R=-B*F):(D=n-B*w,R=B*F)}return{textX:O,textY:P,targetX:I,targetY:D,anchorX:z,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,P=e.yaxis,I=t._fullLayout,D=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var z=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,z="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,N=B||R,j=0;z&&f.connector.visible&&"between"===f.connector.mode&&(j=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=a.ensureSingle(u,"g","points"),H=T(f),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,T){var S,z,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,P,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),"waterfall"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,z=Z.color}}else S=v.getLineWidth(f,u),z=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(z)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:P.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt="M"+H+","+W+"V"+(Y-ut*st)+"H"+ft(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st-ct)+"V"+(W+rt*st+ct)+"A "+rt+","+rt+" 0 0 "+lt+" "+ft(G-(rt-it)*ot,H)+","+(W+ut*st)+"Z"}else if(u.hasB)tt="M"+(H+rt*ot)+","+W+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(W+rt*st)+"V"+(Y-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+Y+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st)+"V"+(W+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+W+"Z";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ht*ot)+","+W+"V"+dt(Y-(rt-it)*st,W)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+Y+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ht*ot)+","+dt(Y-(rt-it)*st,W)+"V"+W+"Z"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,"path"),I,g,y);if(vt.style("vector-effect",D?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,I=t._fullLayout;function D(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var z=n[0].trace,R="h"===z.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,P);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(z,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&"none"!==k&&(!N.isBlank&&s!==u&&f!==p||"auto"!==k&&"inside"!==k)){var q=I.font,H=d.getBarColor(n[i],z),G=d.getInsideTextFont(z,i,q,H),W=d.getOutsideTextFont(z,i,q),Y=z.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k="inside":(k="outside",Z.remove(),Z=null)}else k="inside";if(!Z){var ot=(Z=D(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?W:G))).attr("transform");if(Z.attr("transform",""),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr("transform",ot),J<=0||$<=0)return void Z.remove()}var st,lt=z.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"outside"===z.constraintext,angle:lt}):O(s,u,f,p,K,{isHorizontal:R,constrained:"both"===z.constraintext||"inside"===z.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h("histogram"===z.type?"bar":z.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select("text"),w,P,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,z,e,g)},toMoveInsideBar:O}},45784:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},82744:function(t,e,r){"use strict";var n=r(33428),i=r(3400);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},94456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(40872),categories:["polar","bar","showLegend"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},89580:function(t,e,r){"use strict";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:u({},c.symbol,{arrayOk:!1,editType:"plot"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:u({},c.angle,{arrayOk:!1,editType:"calc"}),size:u({},c.size,{arrayOk:!1,editType:"calc"}),color:u({},c.color,{arrayOk:!1,editType:"style"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},62555:function(t,e,r){"use strict";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,O,P,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==s&&W<=E.q1?W:p(E,C,O);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,O);var X=V("mean");E.mean=X!==s?X:O?o.mean(C,O):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:O?o.stdev(C,O,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V("notchspan");K=K!==s&&K>0?K:y(E,O),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[O-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),O=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[O-1],E.mean=o.mean(C,O),E.sd=o.stdev(C,O,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),O%2&&(lt||ut)?(lt?(ct=C.slice(0,O/2),ft=C.slice(O/2+1)):ut&&(ct=C.slice(0,O/2+1),ft=C.slice(O/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,O),E.uf=d(E,C,O),E.lo=v(E),E.uo=g(E);var ht=y(E,O);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=O(S+C),R=P(E-C),F=[[f=M(S)]];for(a=z;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,O=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(O-2,a))),s=a-o,x.length=O,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=O,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(O-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){"use strict";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},86411:function(t,e,r){"use strict";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},7924:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},54272:function(t,e,r){"use strict";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:"trace",name:"choropleth",basePlotModule:r(10816),categories:["geo","noOpacity","showLegend"],meta:{}}},88364:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","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:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){"use strict";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){"use strict";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r("contours.operation");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t("contours.value",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),v=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",v&&s(v)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,h)}},3212:function(t,e,r){"use strict";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},84952:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},82172:function(t,e,r){"use strict";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},46960:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){"use strict";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,O,P,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){"use strict";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},37960:function(t,e,r){"use strict";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},30572:function(t,e,r){"use strict";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){"use strict";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c("zorder")}},40448:function(t,e,r){"use strict";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:"trace",name:"contourcarpet",basePlotModule:r(57952),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},94440:function(t,e,r){"use strict";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),O="constraint"===L.type,P=L._operation,I=O?"="===P?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,P)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},97664:function(t,e,r){"use strict";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},96176:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){"use strict";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){"use strict";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){"use strict";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:"trace",name:"funnel",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},7076:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},11631:function(t,e,r){"use strict";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){"use strict";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},91248:function(t,e,r){"use strict";var n=r(7316);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){"use strict";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},92688:function(t,e,r){"use strict";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===v&&c("textposition","none");a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},62396:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(91248),categories:["pie-like","funnelarea","showLegend"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){"use strict";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},35384:function(t,e,r){"use strict";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},39472:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){"use strict";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},19512:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){"use strict";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},39096:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},35744:function(t,e,r){"use strict";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement("canvas");et.width=J,et.height=$;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(z,{noNumericCheck:!0,returnArray:!0});"fast"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if("smooth"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Ot=V?w:_;for(C=0;CZt||Zt>M._length))for(O=Gt;OJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},z,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=D.z[C][O];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=D.text&&D.text[C]&&D.text[C][O];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,z._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);D.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],O=[],P=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=O[r],W?et.ph0=et.ph1=O[r].length?A[O[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},80536:function(t,e,r){"use strict";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],f=["x","y"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],O="string"==typeof w.size,P="string"==typeof A.size,I=[],D=[],z=O?I:w,R=P?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":O?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},29044:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},4304:function(t,e,r){"use strict";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},25132:function(t,e,r){"use strict";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){"use strict";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},47192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){"use strict";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&T.push(", "+_[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+f.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}},48928:function(t,e,r){"use strict";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:"trace",name:"image",basePlotModule:r(57952),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},63715:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(D||z){var R=v+E/2,F=m+L/2;O+="transform:"+a(R+"px",F+"px")+"scale("+(D?-1:1)+","+(z?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",O);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,O,P=e[0].trace,I=n.select(this),D=P._hasGauge,z=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=P.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),O=[];v._hasNumber&&O.push("number"),v._hasDelta&&(O.push("delta"),"left"===v.delta.position&&O.reverse());var P=C.selectAll("text").data(O);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},O={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var W=I.selectAll("g.angular").data(z?e:[]);W.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function O(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=P(t);return Math.cos(e)*D},I.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(P(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=P(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(O).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll("g.threshold-arc").data(F);W.enter().append("g").classed("threshold-arc",!0).append("path"),W.select("path").call(O).call(T),W.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(O).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var X=I.selectAll("g.bullet").data(R?e:[]);X.exit().remove();var Z=I.selectAll("g.bulletaxis").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),O=f.selectAll("g.bg-bullet").data(C);O.enter().append("g").classed("bg-bullet",!0).append("rect"),O.select("rect").call(L).call(T),O.exit().remove();var P=f.selectAll("g.value-bullet").data([c.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?P.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:O,transitionOpts:r,onComplete:g});var K=I.selectAll("text.title").data(e);K.exit().remove(),K.enter().append("text").classed("title",!0),K.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(f.font,P.title.font).call(p.convertToTspans,t),K.attr("transform",(function(){var t,e=B.l+B.w*b[P.title.align],r=h.titlePadding,n=f.bBox(K.node());return D?(z&&(t=P.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},62624:function(t,e,r){"use strict";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:P(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?tt(e,f,o,s,h,n[a]):"y"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?K(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?K(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&O(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){"use strict";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:"cmin",max:"cmax"},plot:r(31460).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(12536),categories:["gl3d","showLegend"],meta:{}}},52948:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},576:function(t,e,r){"use strict";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(57952),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){"use strict";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},97384:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o="array");var f=r("categoryorder",o);"array"===f?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==f||(e.categoryorder="trace")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:f}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v=c.font;n.coerceFont(h,"labelfont",v,{overrideDflt:{size:Math.round(v.size)}}),n.coerceFont(h,"tickfont",v,{autoShadowDflt:!0,overrideDflt:{size:Math.round(v.size/1.2)}})}},22020:function(t,e,r){"use strict";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(91800),categories:["noOpacity"],meta:{}}},51036:function(t,e,r){"use strict";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",O).on("drag",P).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function O(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){"use strict";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){"use strict";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({autoShadowDflt:!0,editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},71864:function(t,e,r){"use strict";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){"use strict";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(19976),categories:["gl","regl","noOpacity","noHover"],meta:{}}},19976:function(t,e,r){"use strict";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},95044:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y,{autoShadowDflt:!0}),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},95724:function(t,e,r){"use strict";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},29928:function(t,e,r){"use strict";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){"use strict";var n=["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"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,O=s.tickvals;function P(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(O)&&O.length){i.isTypedArray(O)&&(O=Array.from(O)),C=s.ticktext,a(C)&&C.length?C.length>O.length?C=C.slice(0,O.length):O.length>C.length&&(O=O.slice(0,C.length)):C=O.map(o(s.tickformat));for(var D=1;D=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,v);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){D(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),D(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,D(V,e,w),n.select(this).attr("transform",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,v);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,v);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:z(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,v);G.enter().append("g").classed(x.cn.axisHeading,!0);var W=G.selectAll("."+x.cn.axisTitle).data(g,v);W.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=q.selectAll("."+x.cn.axisExtent).data(g,v);Y.enter().append("g").classed(x.cn.axisExtent,!0);var X=Y.selectAll("."+x.cn.axisExtentTop).data(g,v);X.enter().append("g").classed(x.cn.axisExtentTop,!0),X.attr("transform",c(0,-x.axisExtentOffset));var Z=X.selectAll("."+x.cn.axisExtentTopText).data(g,v);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(P),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll("."+x.cn.axisExtentBottom).data(g,v);K.enter().append("g").classed(x.cn.axisExtentBottom,!0),K.attr("transform",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll("."+x.cn.axisExtentBottomText).data(g,v);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){"use strict";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){"use strict";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},80036:function(t,e,r){"use strict";var n=r(7316);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},53644:function(t,e,r){"use strict";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){"use strict";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){"use strict";var n=r(3400);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,c=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,f=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,h=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u,textcase:c,lineposition:f,shadow:h}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=O(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function O(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+O(i.px0,i.pxmid,!0,1)+O(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+O(i.px0,i.pxmid,!1,k)+O(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=O(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+O(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function O(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),O=(.5*S-v.r)/h.w,P=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-O,xr:M.x[1]+O,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){"use strict";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},35484:function(t,e,r){"use strict";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},11072:function(t,e,r){"use strict";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){"use strict";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},156:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:"trace",name:"pointcloud",basePlotModule:r(39952),categories:["gl","gl2d","showLegend"],meta:{}}},41440:function(t,e,r){"use strict";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),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:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},10760:function(t,e,r){"use strict";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var O="";a.label&&a.label[e]&&(O=a.label[e]);var P=null;O&&d.hasOwnProperty(O)&&(P=d[O]),u.push({pointNumber:e,label:O,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:P,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,D=o(r.color),z=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:D?r.color[e]:r.color,customdata:z?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},47140:function(t,e,r){"use strict";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate"),y("align");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_("hovercolor",Array.isArray(k)?k.map(A):A(k)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",h.font,{autoShadowDflt:!0}),e._length=null}},45499:function(t,e,r){"use strict";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:"trace",name:"sankey",basePlotModule:r(10760),selectPoints:r(81128),categories:["noOpacity"],meta:{}}},59596:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),fontTextcase:_(o,"font.textcase"),fontLineposition:_(o,"font.lineposition"),fontShadow:_(o,"font.shadow"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){"use strict";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function O(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat"),m("zorder");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){"use strict";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(57952),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},55308:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},59748:function(t,e,r){"use strict";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},66828:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},52340:function(t,e,r){"use strict";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,O="log"===L.type,P="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(O&&(i=L.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},74428:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},31147:function(t,e,r){"use strict";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},96504:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var O,P,I=w.fill.charAt(w.fill.length-1);"x"!==I&&"y"!==I&&(I=""),"y"===I?(O=1,P=_.c2p(0,!0)):"x"===I&&(O=0,P=b.c2p(0,!0)),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var D,z,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},91560:function(t,e,r){"use strict";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},3296:function(t,e,r){"use strict";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(41484),moduleType:"trace",name:"scatter3d",basePlotModule:r(12536),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},90372:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:u({},i.mode,{dflt:"markers"}),text:u({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},l("marker.line")),gradient:c.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){"use strict";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){"use strict";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:"trace",name:"scattercarpet",basePlotModule:r(57952),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},20036:function(t,e,r){"use strict";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){"use strict";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:"trace",name:"scattergeo",basePlotModule:r(10816),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48691:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v="geojson-id"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),O=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(P=I.marker.sizeAvg||Math.max(I.marker.size,3)):P=u(e,b),c(t,e,l,m,E,L,P),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){"use strict";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,_=e.texttemplate;if(_){y.text=[];var w=i._d3locale,T=Array.isArray(_),k=T?Math.min(_.length,a):a,A=T?function(t){return _[t]}:function(){return _};for(r=0;r500?"bold":"normal":t}function _(t,e){var r,n,i=e._length,o=e.marker,s={},u=l(o.symbol),c=l(o.angle),h=l(o.color),v=l(o.line.color),g=l(o.opacity),y=l(o.size),m=l(o.line.width);if(u||(n=d.isOpenSymbol(o.symbol)),u||h||v||g||c){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,b=o.angle,_=f(o,o.opacity,i),w=f(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,O=!!y.yperiodalignment;for(c=0;c=Math.min(P,I)&&w<=Math.max(P,I)?0:1/0}if(f=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,O=L.t,P=O.index,I=C._length,D=O.x,z=O.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[P]=s.selIndices2selPoints(C),F={};for(g=0;g850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),f(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,f=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=c.hasLines(a),k=c.hasMarkers(a),A=c.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,L=g("fill"),C=g("line"),O=g("circle"),P=g("symbol"),I={fill:L,line:C,circle:O,symbol:P};if(!f)return I;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(L.geojson=o.makePolygon(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"fill-color":a.fillcolor})),T&&(C.geojson=o.makeLine(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var D=function(t){var e,r,a,o,c=t[0].trace,f=c.marker,h=c.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),v=i.isArrayOrTypedArray(f.opacity);function g(t){return c.opacity*t}p&&(r=s.hasColorscale(c,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity),d&&(a=u(c)),v&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,m,b=[];for(e=0;e")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){"use strict";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(33688),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},9660:function(t,e,r){"use strict";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(40872),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(47788),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},34864:function(t,e,r){"use strict";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:"trace",name:"scatterternary",basePlotModule:r(19352),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},88776:function(t,e,r){"use strict";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,O=!0;if(o(x)||p.selectedpoints||C){var P=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var P=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:O,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},78176:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},28732:function(t,e,r){"use strict";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},96488:function(t,e,r){"use strict";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,O=L.w*(C.x[1]-C.x[0]),P=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(O,P),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-P/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr("d",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){"use strict";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},56576:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},79164:function(t,e,r){"use strict";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},55992:function(t,e,r){"use strict";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[""],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[""]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),O={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return O.columns.forEach((function(t){t.calcdata=O,t.x=h(t)})),O}},53056:function(t,e,r){"use strict";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){"use strict";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":k(t.calcdata.cells.prefix,e,r)||"",d=c?"":k(t.calcdata.cells.suffix,e,r)||"",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(O(t,r,e,u,n.prevPages,n,0),O(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function O(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(z)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(z),L(null,t.filter(M),0),b(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(D(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function D(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function z(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},79516:function(t,e,r){"use strict";var n=r(7316);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){"use strict";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc("treemap",t)}},32984:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},34092:function(t,e,r){"use strict";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){"use strict";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},27336:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],O=C.trace,P=C.hierarchy,I=g/O._entryDepth,D=c.listPath(r.data,"id"),z=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,O,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(O,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},76477:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,O=-1!==C.textposition.indexOf("left"),P=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");z.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":O||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},83024:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(P+I):0,z={x0:O,x1:O,y0:D,y1:D+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+","+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+K(l.x,l.y)+"L"+K(u.x,u.y)+"L"+K(s.x,s.y)+"L"+K(c.x,c.y)+"L"+K(f.x,f.y)+"L"+K(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),O=s.getPositionOnKdePath(S,d,L),P=w._offset,I=w._length;E[b+"0"]=O[0],E[b+"1"]=O[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},95952:function(t,e,r){"use strict";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:"trace",name:"waterfall",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},91352:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},59464:function(t,e,r){"use strict";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>f};case">=":return function(t){return p(t)>=f};case"[]":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case"()":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case"][":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case")(":return function(t){var e=p(t);return ef[1]};case"](":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case")[":return function(t){var e=p(t);return e=f[1]};case"{}":return function(t){return-1!==f.indexOf(p(t))};case"}{":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):m(t):"Buffer"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return D(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function D(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){Z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,O=0|o[7],P=8191&O,I=O>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,H)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,K)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(z,K)|0,i=(i=i+Math.imul(z,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Ot=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(u+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Ot,l[16]=Pt,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var D=(P-=1)*b,z=w[D],R=w[D+1],F=w[D+2],B=w[D+3],N=w[D+4],j=w[D+5],U=P*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,z,R,F,W,Y,q))||4&j&&(R=y(t,z,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)"),v=c("lo===p0"),g=c("lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,O=2*b,P=2*w,I=2*p,D=2*v,z=2*d,R=0;R<2;++R){var F=f[C+R],B=f[O+R],N=f[P+R];f[I+R]=F,f[D+R]=B,f[z+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var O=0;O>>1;a(d,E);var L=0,C=0,O=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),P<0){for(var D=-(P>>1)-1,z=0;z>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,O--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(D=C+1;D0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=ArrayBuffer,c=DataView;function f(t){return Array.isArray(t)||function(t){return u.isView(t)&&!(t instanceof c)}(t)}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.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=a(t)}var d=p.prototype;function v(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?f(a)&&f(a[0]):f(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(f(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,h=!1;if("bounds"in t)for(var p=t.bounds,d=0;d<2;++d)for(var v=0;v<3;++v)p[d][v]!==this.bounds[d][v]&&(h=!0),this.bounds[d][v]=p[d][v];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,c=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(d=0;d<3;++d)r[d].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),l("tickFontStyle")&&(c=!0),l("tickFontWeight")&&(c=!0),l("tickFontVariant")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor");var y=[{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]}],m=[{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&&(g||c)&&this._text.update(this.bounds,this.labels,y,this.ticks,m):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,m),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new v,new v,new v];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var m=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var b=[0,0,0],_=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,u=o(r,n,i,a,s),c=u.cubeEdges,f=u.axis,p=n[12],d=n[13],v=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*v+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=c[A],this.lastCubeProps.axis[A]=f[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,c,f);e=this.gl;var S,E,L,C=m;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=f[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var O=[0,0,0];f[A]>0?O[A]=a[1][A]:O[A]=a[0][A];for(var P=0;P<2;++P){var I=(A+1+P)%3,D=(A+1+(1^P))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,O,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(P=0;P<2;++P)I=(A+1+P)%3,D=(A+1+(1^P))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,O,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=h(b,M[A].primalMinor),R=h(_,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];z[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=h(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m="raw"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],O=[],P=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),P=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),P=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return h.isView(t)&&!(t instanceof p)}(t)}function v(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return v(n,n),v(n,n),v(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function m(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new x(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var b=x.prototype;b.pickSlots=1,b.setPickBase=function(t){this.pickId=t},b.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},b.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var _=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=f.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function L(t){return t[0]=t[1]=t[2]=0,t}function C(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function O(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function I(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],_[0]=2/o.drawingBufferWidth,_[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=_,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(a[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var y=M,m=0;m<16;++m)y[m]=0;for(m=0;m<4;++m)y[5*m]=1;y[5*v]=0,i[v]<0?y[12+v]=p[0][v]:y[12+v]=p[1][v],s(y,u,y),l.model=y;var x=(v+1)%3,b=(v+2)%3,P=L(w),I=L(T);P[x]=1,I[b]=1;var D=g(0,0,0,C(k,P)),z=g(0,0,0,C(A,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=P,P=I,I=R;var F=x;x=b,b=F}D[0]<0&&(P[x]=-1),z[1]>0&&(I[b]=-1);var B=0,N=0;for(m=0;m<4;++m)B+=Math.pow(u[4*x+m],2),N+=Math.pow(u[4*b+m],2);P[x]/=Math.sqrt(B),I[b]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=I,l.fragClipBounds[0]=O(S,d[0],v,-1e8),l.fragClipBounds[1]=O(S,d[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,_[0]=2/l.drawingBufferWidth,_[1]=2/l.drawingBufferHeight,u.screenSize=_,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=P,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function D(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},b.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},b.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=m(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=m(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=b,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:Y<0?1+S[1][0]:1,X*=X>0?1-S[0][1]:X<0?1+S[1][1]:1],K=A.cells||[],J=A.positions||[];for(k=0;k0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],O=(l-M)/(S-M),P=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(O)||(O=.5),isFinite(P)||(P=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,D,B,O),n.lerp(q,z,N,O),n.lerp(H,R,j,O),n.lerp(G,F,U,O);var W=n.create(),Y=n.create();n.lerp(W,V,H,P),n.lerp(Y,q,G,P);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),z.push(F),g.push({points:O,velocities:P,divergences:z});for(var B=0;B<100*u&&O.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(O.push(N),D=N,P.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n 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"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],O={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=O.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=O.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return O.showSurface=o,O.showContour=s,O}var I={model:T,view:T,projection:T,inverseModel:T.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},D=T.slice(),z=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=P(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var v=0,g=0,y=d(p,f.stride.slice());if("float32"===h?v=t.FLOAT:"float64"===h?(v=t.FLOAT,y=!1,h="float32"):"uint8"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),O+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"."===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?m:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],O=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=O,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),O=0,P=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[O++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++),O+=1,g+=T,A=2;A0)for(A=1,u=h[g],P=L[O]=r(u,o,s,l),z=L[O+I],B=L[O+R],U=L[O+N],P===z&&P===B&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,z,B,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,b,w,B,U,o,s,l)),O+=1,g+=T,A=2;A0){if(A=1,L[O++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++),O+=1,g+=T,M=2;M0)for(M=1,u=h[g],P=L[O]=r(u,o,s,l),B=L[O+R],z=L[O+I],U=L[O+N],P===B&&P===z&&P===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,P,B,z,U,o,s,l),V=C[O]=S++,U!==B&&e(C[O+R],V,w,m,U,B,o,s,l)),O+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,O=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,O=S*w+E*_+A*b-M*x,P=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,P=P*(w=Math.cos(e))-(L=L*w+P*x+C*_-O*b)*x-(C=C*w+P*b+O*x-L*_)*b-(O=O*w+P*_+L*b-C*x)*_}var D=u(L,C,O,P);D>1e-6?(L/=D,C/=D,O/=D,P/=D):(L=C=O=0,P=1),this.rotation.set(t,L,C,O,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(z(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||"normal",s=n.fontWeight||"normal",l=n.fontVariant||"normal",u=[a,s,l,e].join("_"),c=o[u];c||(c=o[u]={" ":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],O=E[5],P=E[9],I=E[2],D=E[6],z=E[10],R=O*z-P*D,F=P*I-C*z,B=C*D-O*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],O=E*x+L*b+C*_,P=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(P,O)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],O=L[L.length-2];C%=2*Math.PI;var P=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,v-p),n=n.replace("?px ",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!m&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){"use strict";function n(t,e){for(var r=0;rf)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||et(t.length)?h(0):y(t):"Buffer"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t))}function v(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(t).length;default:if(i)return n?-1:J(t).length;e=(""+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return z(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=P)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new H.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,"number",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(s(e))}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return"undefined"==typeof BigInt?it:t}function it(){throw new Error("BigInt not supported")}},25928:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},48932:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,P=32,D=2,z=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,P,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,D,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C="function"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(z=t,F):z},F.update=function(t){return O(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:"3.8.2"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new D;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return K=function(t,e){return r.call(t,e)},K(t,e)};"function"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return"function"==typeof t?t:function(){return X(t,this)}}function Q(t){return"function"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function O(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function P(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*zt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Dt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(z),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Oe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function Dr(t){return Math.pow(2,10*(t-1))}function zr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||z,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=zn(s),a=Dn(a),s&&a;)l=Dn(l),(o=zn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!zn(o)&&(o.t=s,o.m+=f-c),a&&!Dn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^O){var P=(c+f)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Oi,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(zi,a)+","+Pi(zi,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uCt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*Dt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",P):S.on("mousemove.brush",C).on("mouseup.brush",P),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return L}function O(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var P,I,D,z,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement("a")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia("(prefers-reduced-motion: reduce)")),I.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&z&&(q?H(t):D=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,z),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((z=s.document.createElement("img")).onload=function(){D&&H(D),D=null,q=!0},z.onerror=function(){V=!0,D=null},z.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),$(t)};var X=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Z(t){return X.test(t)}var K=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function $(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=O("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct="mapbox-tiles",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),mt}var _t={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&Z(r);"json"===t.type&&i.headers.set("Accept","application/json");var u=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Lt,Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Lt=0;var Ot=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},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:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},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"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if("string"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},he.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ve(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in be)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Wt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Yt))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe("",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Xt,"to-color":Zt,"to-number":Wt,"to-string":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function De(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function ze(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Oe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ve(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new _e(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof me)&&"resolvedImage"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Zt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new wr(u,r,n,i,l):e.error("Type "+re(u)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Or(r.type,r,n,i):null}return new Or(r.type,r,n)},Or.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Or.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Or.prototype.outputDefined=function(){return!1},Or.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var zr=Dr("==",(function(t,e,r){return e===r}),Ir),Rr=Dr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=Dr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Dr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Dr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Wt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":zr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,"number-format":Ur,object:_e,slice:Or,step:tr,string:_e,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:"success",value:t}}function Zr(t){return{result:"error",value:t}}function Kr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!_r[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=sn;else if("interval"===u)r=on;else if("categorical"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ue.parse(r):"formatted"===e.type?r=he.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],"geometry-type":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],"heatmap-density":[Wt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt("","data expressions not supported")]);var i=Ze(r,["zoom"]);if(!i&&!Jr(e))return Zr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Zr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return Kr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Ln(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(Pn)):"in"===r?Cn(t[1],t.slice(2)):"!in"===r?Pn(Cn(t[1],t.slice(2))):"has"===r?On(t[1]):"!has"===r?Pn(On(t[1])):"within"!==r||t}function Ln(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function On(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Pn(t){return["!",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Dn(t)}function Dn(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function fi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function mi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new Dt("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Oi=function(){return Mi},Pi=function(){if(Mi!==_i||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},Di=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};Di.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var zi=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ue.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};zi.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},zi.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new zi(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new zi(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Di(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Di(Math.floor(e.zoom),e)),t.expression.evaluate(new Di(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new zi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Wi),oi("ColorRampProperty",Yi);var Zi="-transition",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate($n,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},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(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi("GlyphOffsetArray",Ca);var Oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Oa);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Pa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(ba);oi("FeatureIndexArray",Ia);var Da=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,za=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}za.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>za.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+za.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>za.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},za.prototype.get=function(){return this.segments},za.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new za,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Oo(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Do(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",bo,{omit:["layers"]});var zo=new Xi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Xi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:zo},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Po("circle-radius",this,e)+Po("circle-stroke-width",this,e)+Io(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Do(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Os(t.i,t.x,t.y),n=new Os(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Os(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Os(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ds(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(zs(t,r,e),i(t[n],c)>0&&zs(t,r,n);f0;)h--}0===i(t[r],c)?zs(t,r,h):zs(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function zs(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.segments2=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new za,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>za.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),O=k?C:0,P=k?0:C;if(p&&this.addCurrentVertex(c,v,O,P,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",vl,{omit:["layers","patternFeatures"]});var gl=new Xi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Xi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Wi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Yi(Ft.paint_line["line-gradient"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Di(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Po("line-width",this,e),Po("line-gap-width",this,e)),n=Po("line-offset",this,e);return r/2+Math.abs(n)+Io(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Do(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*_l(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{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"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{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"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Ol=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Pl=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var Dl=4294967296,zl=1/Dl,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Dl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Ol(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Ol(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)P=j.rect,O=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;O=V.metrics}C=(_-S.scale)*Ll}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:O,rect:P}),h+=O.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Ou(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function zu(t,e,r,n,i,a,o,s,l){var u=Pu(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),O=new a(m,d),P=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),O._matMult(N),I._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:O,bl:I,br:P,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),O=0;O0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Ku;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Ku}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-Ku;break;case"bottom-right":case"bottom-left":n=-i+Ku;break;case"bottom":n=-e+Ku;break;case"top":n=e-Ku}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'):"composite"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Di(this.zoom),v=0,g=t;v=0;for(var I=0,D=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),dc={paint:new Xi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi("FormatSectionOverride",vc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pc.prototype.setNorthEast=function(t){return this._ne=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.setSouthWest=function(t){return this._sw=t instanceof Dc?new Dc(t.lng,t.lat):Dc.convert(t),this},Pc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Dc)e=t,r=t;else{if(!(t instanceof Pc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pc.convert(a))}var o=t;return this.extend(Dc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Dc(e.lng,e.lat),this._ne=new Dc(r.lng,r.lat)),this},Pc.prototype.getCenter=function(){return new Dc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pc.prototype.getSouthWest=function(){return this._sw},Pc.prototype.getNorthEast=function(){return this._ne},Pc.prototype.getNorthWest=function(){return new Dc(this.getWest(),this.getNorth())},Pc.prototype.getSouthEast=function(){return new Dc(this.getEast(),this.getSouth())},Pc.prototype.getWest=function(){return this._sw.lng},Pc.prototype.getSouth=function(){return this._sw.lat},Pc.prototype.getEast=function(){return this._ne.lng},Pc.prototype.getNorth=function(){return this._ne.lat},Pc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pc.prototype.contains=function(t){var e=Dc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pc.convert=function(t){return!t||t instanceof Pc?t:new Pc(t)};var Ic=6371008.8,Dc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Dc.prototype.wrap=function(){return new Dc(h(this.lng,-180,180),this.lat)},Dc.prototype.toArray=function(){return[this.lng,this.lat]},Dc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Dc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},Dc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pc(new Dc(this.lng-r,this.lat-e),new Dc(this.lng+r,this.lat+e))},Dc.convert=function(t){if(t instanceof Dc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Dc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Dc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var zc=2*Math.PI*Ic;function Rc(t){return zc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Dc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new Dc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/zc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Oc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Oc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new Di(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new Di(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send("enforceCacheSizeLimit",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Di(h),o),u["text-size"].possiblyEvaluate(new Di(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Di(v),o),u["icon-size"].possiblyEvaluate(new Di(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Di(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Di(18));for(var y=l.get("text-line-height")*Ll,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,O=t.addToLineVertexArray(e,r),P=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),P=4*W.length;var X=t.iconSizeData,Z=null;"source"===X.kind?(Z=[Au*s.layout.get("icon-size").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'):"composite"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,O.lineStartIndex,O.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,O.lineStartIndex,O.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get("text-rotate").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(D+=rc(t,e,J,a,s,d,b,v,O,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(z+=rc(t,e,n.vertical,a,s,d,b,v,O,lu.vertical,["vertical"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,P,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if("line"===E)for(var P=0,I=Fu(e.geometry,0,0,po,po);P1){var U=Du(j,A,r.vertical||v,n,g,x);U&&O(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,P.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,P.call(l))})):p={};var O=Object.keys(g.patternDependencies);function P(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}O.length?a.send("getImages",{icons:O,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function O(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);hf;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:W(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),P=se(e.writingMode,S,O,d);if(P)return P}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;O--)C.push(E.path[O]);for(var P=1;P0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},O=null,P=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),X=e.collisionCircleDiameter;O=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||O.circles.length>0&&!O.collisionDetected,S=S&&O.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(P=Z(a.verticalIconBox)).box.length>0:(P=Z(a.iconBox)).box.length>0,S=S&&P.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),O&&(T&&i.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var O=C?L:ze;d(e.icon,a.numIconVertices,O),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=C?ze:L;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Oe=Math.pow(2,9),Pe=Math.pow(2,8),Ie=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Oe+e*Pe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform 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\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;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\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;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);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Or=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Dr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},zr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},jr=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get("raster-hue-rotate"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Dr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,O=0;O0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.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()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var On=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={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}};On.prototype.clone=function(){var t=new On(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},On.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},On.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},On.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},On.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},On.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},On.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},On.prototype.zoomScale=function(t){return Math.pow(2,t)},On.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},On.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},On.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},On.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},On.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},On.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},On.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},On.prototype.coordinateLocation=function(t){return t.toLngLat()},On.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},On.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},On.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},On.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},On.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},On.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},On.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},On.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},On.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},On.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},On.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},On.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var Dn={linearity:.3,easing:t.bezier(0,0,.3,1)},zn=t.extend({deceleration:2500,maxSpeed:1400},Dn),Rn=t.extend({deceleration:20,maxSpeed:1400},Dn),Fn=t.extend({deceleration:1e3,maxSpeed:360},Dn),Bn=t.extend({deceleration:1e3,maxSpeed:90},Dn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var O=E(0),P=function(t){return C(O)/C(O+_*t)},I=function(t){return w*((C(O)*(L(e=O+_*t)/C(e))-L(O))/S)/k;var e},D=(E(1)-O)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/P(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.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"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Li=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return"bottom-left"},Li.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>zi)throw new Error("maxPitch must be less than or equal to 60");var i=new On(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Oi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ii))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()zi)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.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),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.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(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Xi--,Zi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}$i.prototype.getDefaultPosition=function(){return"bottom-left"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._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 t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+c.x+"px,"+c.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},3108:function(t,e,r){"use strict";t.exports=r(26099)},26099:function(t,e,r){"use strict";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&O.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,v||b||_||k),e(r,n+E,E,P,v,b||_||k),e(r+E,n,E,P,b,_||k),e(r+E,n+E,E,P,_,k)}}(0,0,1,0,0,1),O},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},3256:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},84880:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},43752:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g="",y="",m="",x="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==h(t)||null===t)throw new d("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g="",y="",x="",m=""):(g="",y="",x="",m="")),"object"===h(u)&&null!==u&&"object"===h(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=_(u),c=_(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,f(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=w(t),c=u.split("\n"),f=w(e).split("\n"),p=0,d="";if("strictEqual"===r&&"object"===h(t)&&"object"===h(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!("object"===h(t)&&null!==t||"object"===h(e)&&null!==e||0===t&&0===e))return"".concat(b[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",p),"^"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s="\n ".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(g,"...").concat(x);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}p>3&&(s="\n".concat(g,"...").concat(x).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=b[r]+"\n".concat(y,"+ actual").concat(x," ").concat(m,"- expected").concat(x),L=" ".concat(g,"...").concat(x," Lines skipped");for(p=0;p1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(f[p-2]),S++),a+="\n ".concat(f[p-1]),S++),o=p,i+="\n".concat(m,"-").concat(x," ").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(c[p]),S++;else{var O=f[p],P=c[p],I=P!==O&&(!v(P,",")||P.slice(0,-1)!==O);I&&v(O,",")&&O.slice(0,-1)===P&&(I=!1,P+=","),I?(C>1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(P),i+="\n".concat(m,"-").concat(x," ").concat(O),S+=2):(a+=i,i="",1!==C&&0!==p||(a+="\n ".concat(P),S++))}if(S>20&&p30)for(k[26]="".concat(g,"...").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,"".concat(T," ").concat(k[0]))):o(this,f(e).call(this,"".concat(T,"\n\n").concat(k.join("\n"),"\n")))}else{var A=w(u),M="",S=b[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(b[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(w(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,f(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},25116:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function O(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function P(t){return Object.keys(t).filter(O).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},64928:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){"use strict";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){"use strict";var n=r(8844),i=r(53664),a=r(14500),o=i("%TypeError%"),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(l,s),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){"use strict";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){"use strict";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){"use strict";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){"use strict";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],u="rgb"===l;r=s=l.replace(/a$/,"");var c="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){"use strict";var n=r(19336);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},36116:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},42771:function(t,e,r){"use strict";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){"use strict";var n=r(30584);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},46416:function(t,e,r){"use strict";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){"use strict";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),D=0}}function q(){var t=R.now(),e=t-I;e>P&&(z-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-D>24?(t<1/0&&(C=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(q,P)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},87108:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Pt},geoCraigRaw:function(){return Ot},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return zr},geoLoximuthalRaw:function(){return Dr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Pi},geoTimes:function(){return Di},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=O(2),A=O(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function O(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=O(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.U)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=O(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*O(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=O((r-O(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+O(t*t-1))}(i(e/n))/3:function(t){return c(t+O(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(P(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=O(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=O(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=O(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/O(b*(b-2*c)+n*n)));i=l+2*a((f+u*O(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=O(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=O(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(O(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=O(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Ot(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(O(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Pt(){return ft(Ot).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*O(b/r)/2:0,L(1-r)]};var It=O(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.c)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=O(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=O(4-3*g(i(e)));return[2/O(6*b)*t*r,v(e)*O(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=O(b*(4+b));return[2/r*t*(1+O(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/O(b*(4+b))*t*(1+s(e)),2*O(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/O(2+b),2*e/O(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=O(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=O(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/O(2*b/3);return[t*O(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=O(b*(4+b))/2;return[t*r/(1+O(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*O((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/O(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=O(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=O(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=O(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=O(2/(1+l*l)),f=O((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=O(b),A=y/(x+k*v*w),M=A*A,S=O(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=O(E),C=L-1/L,P=L+1/L,I=S*C-2*c(L)-t,D=S*A*P-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*P*B-2*z/(1+M)+S*P*z+S*A*(V-V/E),Y=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(D*G-I*Y)/X,K=(I*W-D*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=O(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=O(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/O(u)),p=f+o*u*h,d=(1-a)/p,v=O(d),y=d*u,x=O(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),P=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*O(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(P+E*O(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=O(y-F),N=P+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*O(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Oe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*P(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[O(e),0,0,0,0,0,0,0,0],d=0;for(n=O(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=O(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=O(1-e),o=O(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=O(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=O(1-r*r),u=Pe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/O(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+O(u*u-(r-1)*l*4))/2;return[Pe(a(1/O(c)),r)*v(t),Pe(a(O((c/l-1)/r)),1-r)*v(e)]}return[0,Pe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=O(a),c=L(1/O(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=O(h),d=h*(1+l),v=p*(1-l),g=O(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/O(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=O(1-h*h),d=(n=-t,i=p*p,(r=.5*Pe(_,p*p)-e)?(s=Oe(r,i),n?(f=(u=Oe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Oe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=O(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=O(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*O(b/(e=b+4*n*r)),l=.5*a*(r+O(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*O(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/O(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=O(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=O(n*g(r)*O((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return O(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=O(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-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 hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-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 dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-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 gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-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 mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-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 br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-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 wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*O(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/O(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+O(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.c)(Cr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Pr).scale(144.049).clipAngle(89.999)}function Dr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=O(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*O((i-O(i*i-4*r))/r):1/O(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=O(6),Jr=O(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-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 fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+O(d*d+n*n/h)*a),_*(y+O(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+O((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=On(h)/On(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=O(n),a=(t-O(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*O(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return zi(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*O(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(O(c+(l=t+e)*l)),h=s(O(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(O(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return zi(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(O(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*O(3),ta=2*O(2*b*O(3)/Qi),ea=it(ta*O(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*O(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=O(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/O(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=O(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=O(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*O(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=L,n-=P}while((i(L)>m||i(P)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){"use strict";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){"use strict";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){"use strict";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){"use strict";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=O}function C(){P(d,v),w.point=T}function O(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=P;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function P(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var O=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(O,g),[T,(0,n.G)(O)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){"use strict";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){"use strict";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Ot,Pt,It=(0,v.c)(),Dt={point:y.c,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Ot=t,Ct=Pt=e}function Rt(t,e){Ot-=t,Pt-=e,It.add((0,g._I)(Ot*Ot+Pt*Pt)),Ot=t,Pt=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){"use strict";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){"use strict";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){"use strict";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,O=x*A;if(o.add((0,a.WE)(O*E*(0,a.g$)(L),b*M+O*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var P=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(P);var I=(0,i.CW)(u,P);(0,i.cJ)(I);var D=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>D||n===D&&(P[0]||P[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*O+b*P)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,O*l.oh]},j.angle=function(t){return arguments.length?(P=t%360*l.qw,V()):P*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){"use strict";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){"use strict";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){"use strict";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){"use strict";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){"use strict";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Ot=T(v),Pt={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Ot[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:O,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=zt(r,Pt),Pt.X=zt(s,Pt),Pt.c=zt(e,Pt),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function O(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+"000"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){"use strict";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){"use strict";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return P},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return D.c},utcYears:function(){return D.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),O=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=O,I=O.range,D=r(53528)},81628:function(t,e,r){"use strict";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){"use strict";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){"use strict";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){"use strict";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){"use strict";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){"use strict";var n=r(39640)(),i=r(53664),a=n&&i("%Object.defineProperty%",!0);if(a)try{a({},"a",{value:1})}catch(t){a=!1}var o=i("%SyntaxError%"),s=i("%TypeError%"),l=r(2304);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},81288:function(t,e,r){"use strict";var n=r(41820),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){"use strict";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){"use strict";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){"use strict";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){"use strict";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},81892:function(t,e,r){"use strict";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){"use strict";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},76024:function(t,e,r){"use strict";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){"use strict";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){"use strict";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){"use strict";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},80940:function(t,e,r){"use strict";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},52891:function(t,e,r){"use strict";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},60964:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){"use strict";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){"use strict";var n=r(94576);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},46492:function(t,e,r){"use strict";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=A(t,0,1),r=A(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],O=Math.sqrt(E*E+L*L+C*C);return Math.abs(O)<1e-6?null:(E*=O=1/O,L*=O,C*=O,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){"use strict";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){"use strict";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){"use strict";var n=r(46672)(),i=r(99676)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},85992:function(t){"use strict";t.exports=function(t){return t!=t}},1560:function(t,e,r){"use strict";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){"use strict";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},59736:function(t,e,r){"use strict";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},58908:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){"use strict";var n=r(46492),i=r(63436),a=r(99676),o=a("Object.prototype.toString"),s=r(46672)(),l=r(2304),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,O=4/3*s*L,P=[2*t-(t+C*Math.sin(T)),2*n-(n-O*Math.cos(T)),f+C*Math.sin(k),h-O*Math.cos(k),f,h];if(p)return P;E&&(P=P.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},32868:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){"use strict";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},28648:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},5588:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},41924:function(t,e,r){"use strict";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},87968:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},90328:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},16024:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){"use strict";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){"use strict";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.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},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=z}));(P=P.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*P[t]).concat(z?k.slice(2*z):[]),r=(y.hole||[]).map((function(e){return e-z+(P[t]-D)})),n=l(e,r);n=n.map((function(e){return e+D+(e+Dt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\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.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;O.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(O.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=P(p=r[f-2],17)^P(p,19)^p>>>10,r[f-7]),v=P(v=r[f-15],7)^P(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=P(h=o,6)^P(h,11)^P(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=P(u=d,2)^P(u,13)^P(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){O(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId="a1",O(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}O(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&P(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return q(W,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Ot={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){P.tick+=1,P.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&o){var c=o(t,"length");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},92784:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.i=e},15316:function(t,e,r){"use strict";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(O,t))}function O(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,O(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){"use strict";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},47264:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){"use strict";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){"use strict";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.o=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},39956:function(t,e,r){"use strict";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var O=0;Oe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){"use strict";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(O[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},O=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},7328:function(t,e,r){"use strict";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){"use strict";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},85488:function(t,e,r){"use strict";var n=r(73384),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){"use strict";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){"use strict";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},18496:function(t,e,r){"use strict";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},81680:function(t){"use strict";t.exports=function(t){return null!=t}},14144:function(t,e,r){"use strict";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},45223:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),L(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(75272);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?O(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?O(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?"0":"")+t.toString(16)}function O(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function P(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function D(t){return(t=(t||0)%360)<0?t+360:t}function z(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?P(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(D(this.h),z(this.s),z(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(D(this.h),", ").concat(100*z(this.s),"%, ").concat(100*z(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a), bold (), italics (), hyperlinks (
). - Tags , , are also - supported. + Tags , , , , are + also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. diff --git a/packages/python/plotly/plotly/validators/layout/_font.py b/packages/python/plotly/plotly/validators/layout/_font.py index daac5c218a..835e0ba5ae 100644 --- a/packages/python/plotly/plotly/validators/layout/_font.py +++ b/packages/python/plotly/plotly/validators/layout/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/_shapes.py b/packages/python/plotly/plotly/validators/layout/_shapes.py index caa2403660..8c6ef3cf92 100644 --- a/packages/python/plotly/plotly/validators/layout/_shapes.py +++ b/packages/python/plotly/plotly/validators/layout/_shapes.py @@ -139,9 +139,21 @@ def __init__(self, plotly_name="shapes", parent_name="layout", **kwargs): x0 Sets the shape's starting x position. See `type` and `xsizemode` for more info. + x0shift + Shifts `x0` away from the center of the + category when `xref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. x1 Sets the shape's end x position. See `type` and `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the + category when `xref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. xanchor Only relevant in conjunction with `xsizemode` set to "pixel". Specifies the anchor point on @@ -181,9 +193,21 @@ def __init__(self, plotly_name="shapes", parent_name="layout", **kwargs): y0 Sets the shape's starting y position. See `type` and `ysizemode` for more info. + y0shift + Shifts `y0` away from the center of the + category when `yref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. y1 Sets the shape's end y position. See `type` and `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the + category when `yref` is a "category" or + "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to + the end of the category. yanchor Only relevant in conjunction with `ysizemode` set to "pixel". Specifies the anchor point on diff --git a/packages/python/plotly/plotly/validators/layout/_title.py b/packages/python/plotly/plotly/validators/layout/_title.py index 35f41fe6b5..30e888bfa2 100644 --- a/packages/python/plotly/plotly/validators/layout/_title.py +++ b/packages/python/plotly/plotly/validators/layout/_title.py @@ -39,6 +39,10 @@ def __init__(self, plotly_name="title", parent_name="layout", **kwargs): `xanchor`/`yanchor` is determined automatically. Padding is muted if the respective anchor value is "middle*/*center". + subtitle + :class:`plotly.graph_objects.layout.title.Subti + tle` instance or dict with compatible + properties text Sets the plot's title. Note that before the existence of `title.text`, the title's contents diff --git a/packages/python/plotly/plotly/validators/layout/_xaxis.py b/packages/python/plotly/plotly/validators/layout/_xaxis.py index 9c9cf2e5ab..35c61886e8 100644 --- a/packages/python/plotly/plotly/validators/layout/_xaxis.py +++ b/packages/python/plotly/plotly/validators/layout/_xaxis.py @@ -80,7 +80,8 @@ def __init__(self, plotly_name="xaxis", parent_name="layout", **kwargs): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -435,6 +436,20 @@ def __init__(self, plotly_name="xaxis", parent_name="layout", **kwargs): out.xaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". + Instead of drawing the major tick label, draw + the label for the minor tick that is n + positions away from the major tick. E.g. to + always draw the label for the minor tick before + each major tick, choose `ticklabelindex` -1. + This is useful for date axes with + `ticklabelmode` "period" if you want to label + the period that ends with each major tick + instead of the period that begins there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud + for `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid @@ -462,6 +477,24 @@ def __init__(self, plotly_name="xaxis", parent_name="layout", **kwargs): axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number + of pixels in parallel to the axis. Positive + values move the labels in the positive + direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the + axis tick labels and their default position. A + positive `ticklabelstandoff` moves the labels + farther away from the plot area if + `ticklabelposition` is "outside", and deeper + into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works + in the opposite direction, moving outside ticks + towards the plot area and inside ticks towards + the outside. If the negative value is large + enough, inside ticks can even end up outside + and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value diff --git a/packages/python/plotly/plotly/validators/layout/_yaxis.py b/packages/python/plotly/plotly/validators/layout/_yaxis.py index 5e4f5edd52..f11868bc0f 100644 --- a/packages/python/plotly/plotly/validators/layout/_yaxis.py +++ b/packages/python/plotly/plotly/validators/layout/_yaxis.py @@ -88,7 +88,8 @@ def __init__(self, plotly_name="yaxis", parent_name="layout", **kwargs): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and @@ -446,6 +447,20 @@ def __init__(self, plotly_name="yaxis", parent_name="layout", **kwargs): out.yaxis.tickformatstopdefaults), sets the default property values to use for elements of layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". + Instead of drawing the major tick label, draw + the label for the minor tick that is n + positions away from the major tick. E.g. to + always draw the label for the minor tick before + each major tick, choose `ticklabelindex` -1. + This is useful for date axes with + `ticklabelmode` "period" if you want to label + the period that ends with each major tick + instead of the period that begins there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud + for `ticklabelindex`. ticklabelmode Determines where tick labels are drawn with respect to their corresponding ticks and grid @@ -473,6 +488,24 @@ def __init__(self, plotly_name="yaxis", parent_name="layout", **kwargs): axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match. + ticklabelshift + Shifts the tick labels by the specified number + of pixels in parallel to the axis. Positive + values move the labels in the positive + direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the + axis tick labels and their default position. A + positive `ticklabelstandoff` moves the labels + farther away from the plot area if + `ticklabelposition` is "outside", and deeper + into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works + in the opposite direction, moving outside ticks + towards the plot area and inside ticks towards + the outside. If the negative value is large + enough, inside ticks can even end up outside + and vice versa. ticklabelstep Sets the spacing between tick labels as compared to the spacing between ticks. A value diff --git a/packages/python/plotly/plotly/validators/layout/annotation/_font.py b/packages/python/plotly/plotly/validators/layout/annotation/_font.py index 833356f8fa..f06709a007 100644 --- a/packages/python/plotly/plotly/validators/layout/annotation/_font.py +++ b/packages/python/plotly/plotly/validators/layout/annotation/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.annotation", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/_font.py index 17271f6d17..0b5a79b269 100644 --- a/packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/layout/annotation/hoverlabel/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_tickfont.py index 831eaddace..a4fac6d169 100644 --- a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/_font.py index 8e1727703b..79acbc62bf 100644 --- a/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/coloraxis/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/layout/hoverlabel/_font.py index d20d9c4090..7461f3e978 100644 --- a/packages/python/plotly/plotly/validators/layout/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/layout/hoverlabel/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.hoverlabel", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py b/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py index f8b4a20c34..bc9cf9f867 100644 --- a/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py +++ b/packages/python/plotly/plotly/validators/layout/hoverlabel/_grouptitlefont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/legend/_font.py b/packages/python/plotly/plotly/validators/layout/legend/_font.py index 9cdba6cb84..9ca1d9e5e4 100644 --- a/packages/python/plotly/plotly/validators/layout/legend/_font.py +++ b/packages/python/plotly/plotly/validators/layout/legend/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.legend", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py b/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py index a25604bddc..6cfee9e7ac 100644 --- a/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py +++ b/packages/python/plotly/plotly/validators/layout/legend/_grouptitlefont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/legend/title/_font.py b/packages/python/plotly/plotly/validators/layout/legend/title/_font.py index 2d7429728a..06c35bdf73 100644 --- a/packages/python/plotly/plotly/validators/layout/legend/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/legend/title/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.legend.title", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/mapbox/layer/symbol/_textfont.py b/packages/python/plotly/plotly/validators/layout/mapbox/layer/symbol/_textfont.py index 428d99edbf..d46e5f3d70 100644 --- a/packages/python/plotly/plotly/validators/layout/mapbox/layer/symbol/_textfont.py +++ b/packages/python/plotly/plotly/validators/layout/mapbox/layer/symbol/_textfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/newshape/label/_font.py b/packages/python/plotly/plotly/validators/layout/newshape/label/_font.py index fb18078531..caf91e0606 100644 --- a/packages/python/plotly/plotly/validators/layout/newshape/label/_font.py +++ b/packages/python/plotly/plotly/validators/layout/newshape/label/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/_font.py index be5c1b34b8..2b05763e58 100644 --- a/packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/layout/newshape/legendgrouptitle/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/polar/_angularaxis.py b/packages/python/plotly/plotly/validators/layout/polar/_angularaxis.py index 94c42af677..cced1665ce 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/_angularaxis.py +++ b/packages/python/plotly/plotly/validators/layout/polar/_angularaxis.py @@ -43,7 +43,8 @@ def __init__(self, plotly_name="angularaxis", parent_name="layout.polar", **kwar descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py b/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py index e019684cc8..31bc5e1819 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py +++ b/packages/python/plotly/plotly/validators/layout/polar/_radialaxis.py @@ -78,7 +78,8 @@ def __init__(self, plotly_name="radialaxis", parent_name="layout.polar", **kwarg descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_categoryorder.py index e9c20fc491..934c867c12 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_categoryorder.py @@ -29,6 +29,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_tickfont.py index 80ae208325..a615aaba28 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/polar/angularaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_categoryorder.py index 4776cdb882..ecd82f18d3 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_categoryorder.py @@ -29,6 +29,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_tickfont.py index bea769b11a..ad67d14d26 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/_font.py index b49315c865..2ac30fd47d 100644 --- a/packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/polar/radialaxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/_annotations.py b/packages/python/plotly/plotly/validators/layout/scene/_annotations.py index ae0c9eda16..59bc4de65b 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_annotations.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_annotations.py @@ -127,8 +127,8 @@ def __init__(self, plotly_name="annotations", parent_name="layout.scene", **kwar Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). - Tags , , are also - supported. + Tags , , , , are + also supported. textangle Sets the angle at which the `text` is drawn with respect to the horizontal. diff --git a/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py index fa7a13f36f..026fc7c1d5 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_xaxis.py @@ -69,7 +69,8 @@ def __init__(self, plotly_name="xaxis", parent_name="layout.scene", **kwargs): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py index d731561b95..62952eae7c 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_yaxis.py @@ -69,7 +69,8 @@ def __init__(self, plotly_name="yaxis", parent_name="layout.scene", **kwargs): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py b/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py index d07a0125fb..00a5d35c39 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py +++ b/packages/python/plotly/plotly/validators/layout/scene/_zaxis.py @@ -69,7 +69,8 @@ def __init__(self, plotly_name="zaxis", parent_name="layout.scene", **kwargs): descending* if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, - sum, mean or median of all the values. + sum, mean, geometric mean or median of all the + values. color Sets default for all colors associated with this axis all at once: line, font, tick, and diff --git a/packages/python/plotly/plotly/validators/layout/scene/annotation/_font.py b/packages/python/plotly/plotly/validators/layout/scene/annotation/_font.py index c4c7a2dcf4..308433eb8b 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/annotation/_font.py +++ b/packages/python/plotly/plotly/validators/layout/scene/annotation/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/_font.py index a333a842e0..41c904576a 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/layout/scene/annotation/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_categoryorder.py index 3528ad5532..0f97993453 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_categoryorder.py @@ -26,6 +26,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_tickfont.py index 32c1ae35da..4d8eccd015 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/scene/xaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/xaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/scene/xaxis/title/_font.py index 74f40e611d..0b5745a9eb 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/scene/xaxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_categoryorder.py index c34364201a..72e8569594 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_categoryorder.py @@ -26,6 +26,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_tickfont.py index 5ecf94825d..18a4482686 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/scene/yaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/yaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/scene/yaxis/title/_font.py index b33eb39696..a4c692da42 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/scene/yaxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_categoryorder.py index 42a61ad0a2..6c94587d01 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_categoryorder.py @@ -26,6 +26,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_tickfont.py index 003de5468e..e5c2bd902e 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/zaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/scene/zaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/scene/zaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/scene/zaxis/title/_font.py index b73bb48f5d..237e25c699 100644 --- a/packages/python/plotly/plotly/validators/layout/scene/zaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/scene/zaxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/shape/__init__.py b/packages/python/plotly/plotly/validators/layout/shape/__init__.py index 898fc0ab7c..aefa39690c 100644 --- a/packages/python/plotly/plotly/validators/layout/shape/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/shape/__init__.py @@ -5,12 +5,16 @@ from ._ysizemode import YsizemodeValidator from ._yref import YrefValidator from ._yanchor import YanchorValidator + from ._y1shift import Y1ShiftValidator from ._y1 import Y1Validator + from ._y0shift import Y0ShiftValidator from ._y0 import Y0Validator from ._xsizemode import XsizemodeValidator from ._xref import XrefValidator from ._xanchor import XanchorValidator + from ._x1shift import X1ShiftValidator from ._x1 import X1Validator + from ._x0shift import X0ShiftValidator from ._x0 import X0Validator from ._visible import VisibleValidator from ._type import TypeValidator @@ -40,12 +44,16 @@ "._ysizemode.YsizemodeValidator", "._yref.YrefValidator", "._yanchor.YanchorValidator", + "._y1shift.Y1ShiftValidator", "._y1.Y1Validator", + "._y0shift.Y0ShiftValidator", "._y0.Y0Validator", "._xsizemode.XsizemodeValidator", "._xref.XrefValidator", "._xanchor.XanchorValidator", + "._x1shift.X1ShiftValidator", "._x1.X1Validator", + "._x0shift.X0ShiftValidator", "._x0.X0Validator", "._visible.VisibleValidator", "._type.TypeValidator", diff --git a/packages/python/plotly/plotly/validators/layout/shape/_x0shift.py b/packages/python/plotly/plotly/validators/layout/shape/_x0shift.py new file mode 100644 index 0000000000..fddaad3ac4 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/shape/_x0shift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class X0ShiftValidator(_plotly_utils.basevalidators.NumberValidator): + def __init__(self, plotly_name="x0shift", parent_name="layout.shape", **kwargs): + super(X0ShiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "calc"), + max=kwargs.pop("max", 1), + min=kwargs.pop("min", -1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/shape/_x1shift.py b/packages/python/plotly/plotly/validators/layout/shape/_x1shift.py new file mode 100644 index 0000000000..02aaa138e7 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/shape/_x1shift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class X1ShiftValidator(_plotly_utils.basevalidators.NumberValidator): + def __init__(self, plotly_name="x1shift", parent_name="layout.shape", **kwargs): + super(X1ShiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "calc"), + max=kwargs.pop("max", 1), + min=kwargs.pop("min", -1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/shape/_y0shift.py b/packages/python/plotly/plotly/validators/layout/shape/_y0shift.py new file mode 100644 index 0000000000..ea5d94af0c --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/shape/_y0shift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class Y0ShiftValidator(_plotly_utils.basevalidators.NumberValidator): + def __init__(self, plotly_name="y0shift", parent_name="layout.shape", **kwargs): + super(Y0ShiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "calc"), + max=kwargs.pop("max", 1), + min=kwargs.pop("min", -1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/shape/_y1shift.py b/packages/python/plotly/plotly/validators/layout/shape/_y1shift.py new file mode 100644 index 0000000000..47c142afd1 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/shape/_y1shift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class Y1ShiftValidator(_plotly_utils.basevalidators.NumberValidator): + def __init__(self, plotly_name="y1shift", parent_name="layout.shape", **kwargs): + super(Y1ShiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "calc"), + max=kwargs.pop("max", 1), + min=kwargs.pop("min", -1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/shape/label/_font.py b/packages/python/plotly/plotly/validators/layout/shape/label/_font.py index ad3608067b..a6868456d4 100644 --- a/packages/python/plotly/plotly/validators/layout/shape/label/_font.py +++ b/packages/python/plotly/plotly/validators/layout/shape/label/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.shape.label", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/_font.py index 84d7ee9a7e..b3b2e55070 100644 --- a/packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/layout/shape/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/slider/_font.py b/packages/python/plotly/plotly/validators/layout/slider/_font.py index 5d8cf8e2fc..25c97ddaf8 100644 --- a/packages/python/plotly/plotly/validators/layout/slider/_font.py +++ b/packages/python/plotly/plotly/validators/layout/slider/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.slider", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/slider/currentvalue/_font.py b/packages/python/plotly/plotly/validators/layout/slider/currentvalue/_font.py index 2c3cdbdd30..386030113e 100644 --- a/packages/python/plotly/plotly/validators/layout/slider/currentvalue/_font.py +++ b/packages/python/plotly/plotly/validators/layout/slider/currentvalue/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/_tickfont.py index e4321944b8..0822a7e61a 100644 --- a/packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/smith/imaginaryaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/smith/realaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/smith/realaxis/_tickfont.py index 609cccf8f8..73c64d3de5 100644 --- a/packages/python/plotly/plotly/validators/layout/smith/realaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/smith/realaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_tickfont.py index f001c72ae0..3d2a1bc7d4 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/_font.py index c0421b3a10..9e6cc35483 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/aaxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/baxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/ternary/baxis/_tickfont.py index 9acc356b44..dc9f1d74da 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/baxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/baxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/baxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/ternary/baxis/title/_font.py index 0eb9ae0857..f7424b2798 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/baxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/baxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/caxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/ternary/caxis/_tickfont.py index 8042d5e385..4095c0366c 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/caxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/caxis/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/ternary/caxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/ternary/caxis/title/_font.py index 6d10906393..fb15481211 100644 --- a/packages/python/plotly/plotly/validators/layout/ternary/caxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/ternary/caxis/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/title/__init__.py b/packages/python/plotly/plotly/validators/layout/title/__init__.py index 4126a022b3..ff0523d680 100644 --- a/packages/python/plotly/plotly/validators/layout/title/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/title/__init__.py @@ -9,6 +9,7 @@ from ._xanchor import XanchorValidator from ._x import XValidator from ._text import TextValidator + from ._subtitle import SubtitleValidator from ._pad import PadValidator from ._font import FontValidator from ._automargin import AutomarginValidator @@ -26,6 +27,7 @@ "._xanchor.XanchorValidator", "._x.XValidator", "._text.TextValidator", + "._subtitle.SubtitleValidator", "._pad.PadValidator", "._font.FontValidator", "._automargin.AutomarginValidator", diff --git a/packages/python/plotly/plotly/validators/layout/title/_font.py b/packages/python/plotly/plotly/validators/layout/title/_font.py index 1ea129410a..748bf7a20d 100644 --- a/packages/python/plotly/plotly/validators/layout/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/title/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.title", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/title/_subtitle.py b/packages/python/plotly/plotly/validators/layout/title/_subtitle.py new file mode 100644 index 0000000000..b74d1474cb --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/_subtitle.py @@ -0,0 +1,20 @@ +import _plotly_utils.basevalidators + + +class SubtitleValidator(_plotly_utils.basevalidators.CompoundValidator): + def __init__(self, plotly_name="subtitle", parent_name="layout.title", **kwargs): + super(SubtitleValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + data_class_str=kwargs.pop("data_class_str", "Subtitle"), + data_docs=kwargs.pop( + "data_docs", + """ + font + Sets the subtitle font. + text + Sets the plot's subtitle. +""", + ), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/__init__.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/__init__.py new file mode 100644 index 0000000000..ad27d3ad3e --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/__init__.py @@ -0,0 +1,12 @@ +import sys +from typing import TYPE_CHECKING + +if sys.version_info < (3, 7) or TYPE_CHECKING: + from ._text import TextValidator + from ._font import FontValidator +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._text.TextValidator", "._font.FontValidator"] + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/_font.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/_font.py new file mode 100644 index 0000000000..7c6da318c8 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/_font.py @@ -0,0 +1,61 @@ +import _plotly_utils.basevalidators + + +class FontValidator(_plotly_utils.basevalidators.CompoundValidator): + def __init__( + self, plotly_name="font", parent_name="layout.title.subtitle", **kwargs + ): + super(FontValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + data_class_str=kwargs.pop("data_class_str", "Font"), + data_docs=kwargs.pop( + "data_docs", + """ + color + + family + HTML font family - the typeface that will be + applied by the web browser. The web browser + will only be able to apply a font if it is + available on the system which it operates. + Provide multiple font families, separated by + commas, to indicate the preference in which to + apply fonts if they aren't available on the + system. The Chart Studio Cloud (at + https://chart-studio.plotly.com or on-premise) + generates images on a server, where only a + select number of fonts are installed and + supported. These include "Arial", "Balto", + "Courier New", "Droid Sans", "Droid Serif", + "Droid Sans Mono", "Gravitas One", "Old + Standard TT", "Open Sans", "Overpass", "PT Sans + Narrow", "Raleway", "Times New Roman". + lineposition + Sets the kind of decoration line(s) with text, + such as an "under", "over" or "through" as well + as combinations e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind + text. "auto" places minimal shadow and applies + contrast text font color. See + https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional + options. + size + + style + Sets whether a font should be styled with a + normal or italic face from its family. + textcase + Sets capitalization of text. It can be used to + make text appear in all-uppercase or all- + lowercase, or with each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. +""", + ), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/_text.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/_text.py new file mode 100644 index 0000000000..9b10ca7c2a --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/_text.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TextValidator(_plotly_utils.basevalidators.StringValidator): + def __init__( + self, plotly_name="text", parent_name="layout.title.subtitle", **kwargs + ): + super(TextValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/__init__.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/__init__.py new file mode 100644 index 0000000000..983f9a04e5 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/__init__.py @@ -0,0 +1,31 @@ +import sys +from typing import TYPE_CHECKING + +if sys.version_info < (3, 7) or TYPE_CHECKING: + from ._weight import WeightValidator + from ._variant import VariantValidator + from ._textcase import TextcaseValidator + from ._style import StyleValidator + from ._size import SizeValidator + from ._shadow import ShadowValidator + from ._lineposition import LinepositionValidator + from ._family import FamilyValidator + from ._color import ColorValidator +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [], + [ + "._weight.WeightValidator", + "._variant.VariantValidator", + "._textcase.TextcaseValidator", + "._style.StyleValidator", + "._size.SizeValidator", + "._shadow.ShadowValidator", + "._lineposition.LinepositionValidator", + "._family.FamilyValidator", + "._color.ColorValidator", + ], + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_color.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_color.py new file mode 100644 index 0000000000..60e321f2e9 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_color.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class ColorValidator(_plotly_utils.basevalidators.ColorValidator): + def __init__( + self, plotly_name="color", parent_name="layout.title.subtitle.font", **kwargs + ): + super(ColorValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_family.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_family.py new file mode 100644 index 0000000000..a5ce0803f2 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_family.py @@ -0,0 +1,15 @@ +import _plotly_utils.basevalidators + + +class FamilyValidator(_plotly_utils.basevalidators.StringValidator): + def __init__( + self, plotly_name="family", parent_name="layout.title.subtitle.font", **kwargs + ): + super(FamilyValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + no_blank=kwargs.pop("no_blank", True), + strict=kwargs.pop("strict", True), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_lineposition.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_lineposition.py new file mode 100644 index 0000000000..ec92d350f1 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_lineposition.py @@ -0,0 +1,18 @@ +import _plotly_utils.basevalidators + + +class LinepositionValidator(_plotly_utils.basevalidators.FlaglistValidator): + def __init__( + self, + plotly_name="lineposition", + parent_name="layout.title.subtitle.font", + **kwargs, + ): + super(LinepositionValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + extras=kwargs.pop("extras", ["none"]), + flags=kwargs.pop("flags", ["under", "over", "through"]), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_shadow.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_shadow.py new file mode 100644 index 0000000000..4587620448 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_shadow.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class ShadowValidator(_plotly_utils.basevalidators.StringValidator): + def __init__( + self, plotly_name="shadow", parent_name="layout.title.subtitle.font", **kwargs + ): + super(ShadowValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_size.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_size.py new file mode 100644 index 0000000000..a43ed1d68c --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_size.py @@ -0,0 +1,14 @@ +import _plotly_utils.basevalidators + + +class SizeValidator(_plotly_utils.basevalidators.NumberValidator): + def __init__( + self, plotly_name="size", parent_name="layout.title.subtitle.font", **kwargs + ): + super(SizeValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + min=kwargs.pop("min", 1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_style.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_style.py new file mode 100644 index 0000000000..7515f8df6f --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_style.py @@ -0,0 +1,14 @@ +import _plotly_utils.basevalidators + + +class StyleValidator(_plotly_utils.basevalidators.EnumeratedValidator): + def __init__( + self, plotly_name="style", parent_name="layout.title.subtitle.font", **kwargs + ): + super(StyleValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + values=kwargs.pop("values", ["normal", "italic"]), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_textcase.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_textcase.py new file mode 100644 index 0000000000..e857836cf1 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_textcase.py @@ -0,0 +1,14 @@ +import _plotly_utils.basevalidators + + +class TextcaseValidator(_plotly_utils.basevalidators.EnumeratedValidator): + def __init__( + self, plotly_name="textcase", parent_name="layout.title.subtitle.font", **kwargs + ): + super(TextcaseValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + values=kwargs.pop("values", ["normal", "word caps", "upper", "lower"]), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_variant.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_variant.py new file mode 100644 index 0000000000..5ae59c2fc6 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_variant.py @@ -0,0 +1,24 @@ +import _plotly_utils.basevalidators + + +class VariantValidator(_plotly_utils.basevalidators.EnumeratedValidator): + def __init__( + self, plotly_name="variant", parent_name="layout.title.subtitle.font", **kwargs + ): + super(VariantValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + values=kwargs.pop( + "values", + [ + "normal", + "small-caps", + "all-small-caps", + "all-petite-caps", + "petite-caps", + "unicase", + ], + ), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_weight.py b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_weight.py new file mode 100644 index 0000000000..dfc8934c05 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/title/subtitle/font/_weight.py @@ -0,0 +1,16 @@ +import _plotly_utils.basevalidators + + +class WeightValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="weight", parent_name="layout.title.subtitle.font", **kwargs + ): + super(WeightValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "layoutstyle"), + extras=kwargs.pop("extras", ["normal", "bold"]), + max=kwargs.pop("max", 1000), + min=kwargs.pop("min", 1), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/updatemenu/_font.py b/packages/python/plotly/plotly/validators/layout/updatemenu/_font.py index ec274f1afe..54980bf31c 100644 --- a/packages/python/plotly/plotly/validators/layout/updatemenu/_font.py +++ b/packages/python/plotly/plotly/validators/layout/updatemenu/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.updatemenu", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/__init__.py b/packages/python/plotly/plotly/validators/layout/xaxis/__init__.py index 55ee3d78e3..be5a049045 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/__init__.py @@ -21,9 +21,13 @@ from ._tickmode import TickmodeValidator from ._ticklen import TicklenValidator from ._ticklabelstep import TicklabelstepValidator + from ._ticklabelstandoff import TicklabelstandoffValidator + from ._ticklabelshift import TicklabelshiftValidator from ._ticklabelposition import TicklabelpositionValidator from ._ticklabeloverflow import TicklabeloverflowValidator from ._ticklabelmode import TicklabelmodeValidator + from ._ticklabelindexsrc import TicklabelindexsrcValidator + from ._ticklabelindex import TicklabelindexValidator from ._tickformatstopdefaults import TickformatstopdefaultsValidator from ._tickformatstops import TickformatstopsValidator from ._tickformat import TickformatValidator @@ -117,9 +121,13 @@ "._tickmode.TickmodeValidator", "._ticklen.TicklenValidator", "._ticklabelstep.TicklabelstepValidator", + "._ticklabelstandoff.TicklabelstandoffValidator", + "._ticklabelshift.TicklabelshiftValidator", "._ticklabelposition.TicklabelpositionValidator", "._ticklabeloverflow.TicklabeloverflowValidator", "._ticklabelmode.TicklabelmodeValidator", + "._ticklabelindexsrc.TicklabelindexsrcValidator", + "._ticklabelindex.TicklabelindexValidator", "._tickformatstopdefaults.TickformatstopdefaultsValidator", "._tickformatstops.TickformatstopsValidator", "._tickformat.TickformatValidator", diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/xaxis/_categoryorder.py index 9ed4d5aae5..c914afc6f4 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_categoryorder.py @@ -26,6 +26,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/xaxis/_tickfont.py index 37dd581b08..0b33a61249 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="layout.xaxis", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindex.py b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindex.py new file mode 100644 index 0000000000..4078bd028b --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindex.py @@ -0,0 +1,14 @@ +import _plotly_utils.basevalidators + + +class TicklabelindexValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelindex", parent_name="layout.xaxis", **kwargs + ): + super(TicklabelindexValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + array_ok=kwargs.pop("array_ok", True), + edit_type=kwargs.pop("edit_type", "calc"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindexsrc.py b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindexsrc.py new file mode 100644 index 0000000000..0154c702c6 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelindexsrc.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelindexsrcValidator(_plotly_utils.basevalidators.SrcValidator): + def __init__( + self, plotly_name="ticklabelindexsrc", parent_name="layout.xaxis", **kwargs + ): + super(TicklabelindexsrcValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "none"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelshift.py b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelshift.py new file mode 100644 index 0000000000..6ae55bbe6a --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelshift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelshiftValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelshift", parent_name="layout.xaxis", **kwargs + ): + super(TicklabelshiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "ticks"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelstandoff.py b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelstandoff.py new file mode 100644 index 0000000000..1a8d1e7125 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/xaxis/_ticklabelstandoff.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelstandoffValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelstandoff", parent_name="layout.xaxis", **kwargs + ): + super(TicklabelstandoffValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "ticks"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/_font.py b/packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/_font.py index e7b09dfc38..4a64548f3b 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/_font.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/rangeselector/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/xaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/xaxis/title/_font.py index c8ea6c796b..adf321ba94 100644 --- a/packages/python/plotly/plotly/validators/layout/xaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/xaxis/title/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.xaxis.title", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/__init__.py b/packages/python/plotly/plotly/validators/layout/yaxis/__init__.py index b6d59e3cc5..b081aee460 100644 --- a/packages/python/plotly/plotly/validators/layout/yaxis/__init__.py +++ b/packages/python/plotly/plotly/validators/layout/yaxis/__init__.py @@ -21,9 +21,13 @@ from ._tickmode import TickmodeValidator from ._ticklen import TicklenValidator from ._ticklabelstep import TicklabelstepValidator + from ._ticklabelstandoff import TicklabelstandoffValidator + from ._ticklabelshift import TicklabelshiftValidator from ._ticklabelposition import TicklabelpositionValidator from ._ticklabeloverflow import TicklabeloverflowValidator from ._ticklabelmode import TicklabelmodeValidator + from ._ticklabelindexsrc import TicklabelindexsrcValidator + from ._ticklabelindex import TicklabelindexValidator from ._tickformatstopdefaults import TickformatstopdefaultsValidator from ._tickformatstops import TickformatstopsValidator from ._tickformat import TickformatValidator @@ -117,9 +121,13 @@ "._tickmode.TickmodeValidator", "._ticklen.TicklenValidator", "._ticklabelstep.TicklabelstepValidator", + "._ticklabelstandoff.TicklabelstandoffValidator", + "._ticklabelshift.TicklabelshiftValidator", "._ticklabelposition.TicklabelpositionValidator", "._ticklabeloverflow.TicklabeloverflowValidator", "._ticklabelmode.TicklabelmodeValidator", + "._ticklabelindexsrc.TicklabelindexsrcValidator", + "._ticklabelindex.TicklabelindexValidator", "._tickformatstopdefaults.TickformatstopdefaultsValidator", "._tickformatstops.TickformatstopsValidator", "._tickformat.TickformatValidator", diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_categoryorder.py b/packages/python/plotly/plotly/validators/layout/yaxis/_categoryorder.py index 09bfea5c86..63a43b7267 100644 --- a/packages/python/plotly/plotly/validators/layout/yaxis/_categoryorder.py +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_categoryorder.py @@ -26,6 +26,8 @@ def __init__( "sum descending", "mean ascending", "mean descending", + "geometric mean ascending", + "geometric mean descending", "median ascending", "median descending", ], diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_tickfont.py b/packages/python/plotly/plotly/validators/layout/yaxis/_tickfont.py index 6427fe7fa5..e55d0167a8 100644 --- a/packages/python/plotly/plotly/validators/layout/yaxis/_tickfont.py +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="layout.yaxis", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindex.py b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindex.py new file mode 100644 index 0000000000..6f3df29d1b --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindex.py @@ -0,0 +1,14 @@ +import _plotly_utils.basevalidators + + +class TicklabelindexValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelindex", parent_name="layout.yaxis", **kwargs + ): + super(TicklabelindexValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + array_ok=kwargs.pop("array_ok", True), + edit_type=kwargs.pop("edit_type", "calc"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindexsrc.py b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindexsrc.py new file mode 100644 index 0000000000..0d0c77a6f7 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelindexsrc.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelindexsrcValidator(_plotly_utils.basevalidators.SrcValidator): + def __init__( + self, plotly_name="ticklabelindexsrc", parent_name="layout.yaxis", **kwargs + ): + super(TicklabelindexsrcValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "none"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelshift.py b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelshift.py new file mode 100644 index 0000000000..bbef76d176 --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelshift.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelshiftValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelshift", parent_name="layout.yaxis", **kwargs + ): + super(TicklabelshiftValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "ticks"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelstandoff.py b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelstandoff.py new file mode 100644 index 0000000000..c46e83562a --- /dev/null +++ b/packages/python/plotly/plotly/validators/layout/yaxis/_ticklabelstandoff.py @@ -0,0 +1,13 @@ +import _plotly_utils.basevalidators + + +class TicklabelstandoffValidator(_plotly_utils.basevalidators.IntegerValidator): + def __init__( + self, plotly_name="ticklabelstandoff", parent_name="layout.yaxis", **kwargs + ): + super(TicklabelstandoffValidator, self).__init__( + plotly_name=plotly_name, + parent_name=parent_name, + edit_type=kwargs.pop("edit_type", "ticks"), + **kwargs, + ) diff --git a/packages/python/plotly/plotly/validators/layout/yaxis/title/_font.py b/packages/python/plotly/plotly/validators/layout/yaxis/title/_font.py index abfbc86dc0..16ba168ff8 100644 --- a/packages/python/plotly/plotly/validators/layout/yaxis/title/_font.py +++ b/packages/python/plotly/plotly/validators/layout/yaxis/title/_font.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="font", parent_name="layout.yaxis.title", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/mesh3d/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/mesh3d/colorbar/_tickfont.py index fcad713ec4..294afe9563 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/mesh3d/colorbar/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="mesh3d.colorbar", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/mesh3d/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/mesh3d/colorbar/title/_font.py index 81e25e8650..e22394dba8 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/mesh3d/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/mesh3d/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/mesh3d/hoverlabel/_font.py index 6164b92324..feccc71542 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/mesh3d/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="mesh3d.hoverlabel", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/_font.py index 4883773d78..846e0f7c51 100644 --- a/packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/mesh3d/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/ohlc/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/ohlc/hoverlabel/_font.py index 192aef80d7..95c54cc625 100644 --- a/packages/python/plotly/plotly/validators/ohlc/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/ohlc/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="ohlc.hoverlabel", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/_font.py index 63f210478a..e6bc08065c 100644 --- a/packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/ohlc/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcats/_labelfont.py b/packages/python/plotly/plotly/validators/parcats/_labelfont.py index 5e05e047ad..591599e26c 100644 --- a/packages/python/plotly/plotly/validators/parcats/_labelfont.py +++ b/packages/python/plotly/plotly/validators/parcats/_labelfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="labelfont", parent_name="parcats", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcats/_tickfont.py b/packages/python/plotly/plotly/validators/parcats/_tickfont.py index 8d140f1fd3..5abae6a9d9 100644 --- a/packages/python/plotly/plotly/validators/parcats/_tickfont.py +++ b/packages/python/plotly/plotly/validators/parcats/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="parcats", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcats/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/parcats/legendgrouptitle/_font.py index 9749c78e7a..c5f2d716d5 100644 --- a/packages/python/plotly/plotly/validators/parcats/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/parcats/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcats/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/parcats/line/colorbar/_tickfont.py index 03d339a85a..935b7acfdb 100644 --- a/packages/python/plotly/plotly/validators/parcats/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/parcats/line/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcats/line/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/parcats/line/colorbar/title/_font.py index 95e192cc45..f3c3c9ce63 100644 --- a/packages/python/plotly/plotly/validators/parcats/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/parcats/line/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/_labelfont.py b/packages/python/plotly/plotly/validators/parcoords/_labelfont.py index 5ef202edb5..ce357bb001 100644 --- a/packages/python/plotly/plotly/validators/parcoords/_labelfont.py +++ b/packages/python/plotly/plotly/validators/parcoords/_labelfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="labelfont", parent_name="parcoords", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/_rangefont.py b/packages/python/plotly/plotly/validators/parcoords/_rangefont.py index e6fc4521c7..0fc0918651 100644 --- a/packages/python/plotly/plotly/validators/parcoords/_rangefont.py +++ b/packages/python/plotly/plotly/validators/parcoords/_rangefont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="rangefont", parent_name="parcoords", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/_tickfont.py b/packages/python/plotly/plotly/validators/parcoords/_tickfont.py index f38c21083d..1704a71b96 100644 --- a/packages/python/plotly/plotly/validators/parcoords/_tickfont.py +++ b/packages/python/plotly/plotly/validators/parcoords/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="parcoords", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/_font.py index af1039304a..0eee46907e 100644 --- a/packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/parcoords/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_tickfont.py index ca3e6ad9f9..101e257345 100644 --- a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/_font.py index d607b5e7d9..4ca22c3ad0 100644 --- a/packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/parcoords/line/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/_insidetextfont.py b/packages/python/plotly/plotly/validators/pie/_insidetextfont.py index b007336592..2317e84b9f 100644 --- a/packages/python/plotly/plotly/validators/pie/_insidetextfont.py +++ b/packages/python/plotly/plotly/validators/pie/_insidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="insidetextfont", parent_name="pie", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/_outsidetextfont.py b/packages/python/plotly/plotly/validators/pie/_outsidetextfont.py index 2c514d3ede..3556ed0bea 100644 --- a/packages/python/plotly/plotly/validators/pie/_outsidetextfont.py +++ b/packages/python/plotly/plotly/validators/pie/_outsidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="outsidetextfont", parent_name="pie", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/_textfont.py b/packages/python/plotly/plotly/validators/pie/_textfont.py index 1d618ee37a..ccb8131e66 100644 --- a/packages/python/plotly/plotly/validators/pie/_textfont.py +++ b/packages/python/plotly/plotly/validators/pie/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="pie", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/pie/hoverlabel/_font.py index 8789589d4f..458c518a83 100644 --- a/packages/python/plotly/plotly/validators/pie/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/pie/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="pie.hoverlabel", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/pie/legendgrouptitle/_font.py index e418eb1bf0..021bba6030 100644 --- a/packages/python/plotly/plotly/validators/pie/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/pie/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pie/title/_font.py b/packages/python/plotly/plotly/validators/pie/title/_font.py index d25bac86f9..dc7359145a 100644 --- a/packages/python/plotly/plotly/validators/pie/title/_font.py +++ b/packages/python/plotly/plotly/validators/pie/title/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="pie.title", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py index c16216c976..27612ccde9 100644 --- a/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/pointcloud/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py index 345a909952..5bff80c62b 100644 --- a/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/pointcloud/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sankey/_textfont.py b/packages/python/plotly/plotly/validators/sankey/_textfont.py index b49c45a89d..ec33a088eb 100644 --- a/packages/python/plotly/plotly/validators/sankey/_textfont.py +++ b/packages/python/plotly/plotly/validators/sankey/_textfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="textfont", parent_name="sankey", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sankey/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/sankey/hoverlabel/_font.py index 300cfcf719..bf27a49656 100644 --- a/packages/python/plotly/plotly/validators/sankey/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/sankey/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="sankey.hoverlabel", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sankey/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/sankey/legendgrouptitle/_font.py index e9173c3618..e5b84314e5 100644 --- a/packages/python/plotly/plotly/validators/sankey/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/sankey/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sankey/link/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/sankey/link/hoverlabel/_font.py index 3c24a5b785..79ca7b1a7b 100644 --- a/packages/python/plotly/plotly/validators/sankey/link/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/sankey/link/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sankey/node/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/sankey/node/hoverlabel/_font.py index 3944dbb5eb..23cb89b925 100644 --- a/packages/python/plotly/plotly/validators/sankey/node/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/sankey/node/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter/_textfont.py b/packages/python/plotly/plotly/validators/scatter/_textfont.py index 3e2e1d2f77..0bb1e18a7a 100644 --- a/packages/python/plotly/plotly/validators/scatter/_textfont.py +++ b/packages/python/plotly/plotly/validators/scatter/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scatter", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scatter/hoverlabel/_font.py index dbe8adab1d..14da90933c 100644 --- a/packages/python/plotly/plotly/validators/scatter/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scatter/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="scatter.hoverlabel", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scatter/legendgrouptitle/_font.py index fbd81b0880..c630f5b067 100644 --- a/packages/python/plotly/plotly/validators/scatter/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scatter/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_tickfont.py index 93e2f9e7c7..dd40df2ece 100644 --- a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/_font.py index 8de7bc38fb..3862f5d7b2 100644 --- a/packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatter/marker/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/_textfont.py b/packages/python/plotly/plotly/validators/scatter3d/_textfont.py index 088b69ca71..fbab9e734a 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/_textfont.py +++ b/packages/python/plotly/plotly/validators/scatter3d/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scatter3d", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scatter3d/hoverlabel/_font.py index 47a85c2f9a..b403a6575b 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scatter3d/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/_font.py index d8f8ee140c..eb137c8d6b 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scatter3d/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_tickfont.py index 822e8f22b9..9bb9b41d5c 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/_font.py index 0a2100b292..268e7c90c2 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatter3d/line/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_tickfont.py index 3d23027f5f..394f2e011d 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/_font.py index d56daaf90c..c465a43b95 100644 --- a/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatter3d/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattercarpet/_textfont.py b/packages/python/plotly/plotly/validators/scattercarpet/_textfont.py index 13ae8b500b..83a3c45b01 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/_textfont.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scattercarpet", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/_font.py index 6c4884a0d2..d418fca00a 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/_font.py index f76b4f3b9e..84793aa2d0 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_tickfont.py index 4008837002..9404fe8207 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/_font.py index cd4cb67e3e..f0906bbfb2 100644 --- a/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scattercarpet/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergeo/_textfont.py b/packages/python/plotly/plotly/validators/scattergeo/_textfont.py index 6891c13c1a..2a211359b8 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/_textfont.py +++ b/packages/python/plotly/plotly/validators/scattergeo/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scattergeo", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergeo/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scattergeo/hoverlabel/_font.py index 283a564a59..17a3a00b5e 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scattergeo/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/_font.py index 8e274f1236..cf5af5ded5 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scattergeo/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_tickfont.py index 6884aa6544..0c94c6b4b8 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/_font.py index 9924cc1c69..268bc8171b 100644 --- a/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scattergeo/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergl/_textfont.py b/packages/python/plotly/plotly/validators/scattergl/_textfont.py index ed6906580c..f16ddf6073 100644 --- a/packages/python/plotly/plotly/validators/scattergl/_textfont.py +++ b/packages/python/plotly/plotly/validators/scattergl/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scattergl", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergl/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scattergl/hoverlabel/_font.py index fb4c452163..83048b2ab9 100644 --- a/packages/python/plotly/plotly/validators/scattergl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scattergl/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/_font.py index 77ce4d6476..a8b031d39a 100644 --- a/packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scattergl/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_tickfont.py index 5349479aa8..fd20a78b8b 100644 --- a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/_font.py index ded5c5b74d..c4fb853d76 100644 --- a/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scattergl/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattermapbox/_textfont.py b/packages/python/plotly/plotly/validators/scattermapbox/_textfont.py index 845ce6807a..6bc7ab76fc 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/_textfont.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/_textfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="textfont", parent_name="scattermapbox", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/_font.py index 433bc83a7c..34e7985b69 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/_font.py index f21d9574e4..22886c7bde 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_tickfont.py index d43e8c871a..5c40d2e069 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/_font.py index 7bb570082d..43df02ece1 100644 --- a/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scattermapbox/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolar/_textfont.py b/packages/python/plotly/plotly/validators/scatterpolar/_textfont.py index 75cc41bd7d..83ad005595 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/_textfont.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scatterpolar", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/_font.py index 1deb863caa..4a05248cd5 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/_font.py index 355413ff4e..f8bd85bba8 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_tickfont.py index edd6e43630..909ac27440 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/_font.py index b46fbd1e9a..fd5f5c5d1e 100644 --- a/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolar/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/_textfont.py b/packages/python/plotly/plotly/validators/scatterpolargl/_textfont.py index 6d1a9c5673..2fa609ae2b 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/_textfont.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scatterpolargl", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/_font.py index f0e9d7a373..9d9dde2246 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/_font.py index 718f310369..cf3f6ae10d 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/legendgrouptitle/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_tickfont.py index 60c4c536c6..1577d1e030 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/_font.py index f109debea2..7dad7ac5c8 100644 --- a/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatterpolargl/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattersmith/_textfont.py b/packages/python/plotly/plotly/validators/scattersmith/_textfont.py index 1f60698aaa..3ea78a2a41 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/_textfont.py +++ b/packages/python/plotly/plotly/validators/scattersmith/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scattersmith", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattersmith/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scattersmith/hoverlabel/_font.py index 97660ec879..1e45cbc488 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scattersmith/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/_font.py index 8bf456ab21..824eae5c3a 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scattersmith/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_tickfont.py index d168b5d3ea..d3353310a5 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/_font.py index cf8e513715..5b3026b702 100644 --- a/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scattersmith/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterternary/_textfont.py b/packages/python/plotly/plotly/validators/scatterternary/_textfont.py index d1fa48c30e..47b1e2d529 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/_textfont.py +++ b/packages/python/plotly/plotly/validators/scatterternary/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="scatterternary", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterternary/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/scatterternary/hoverlabel/_font.py index bdd0fcefb8..770e212efe 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/scatterternary/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/_font.py index 3def4788f0..ca7d2c203b 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/scatterternary/legendgrouptitle/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_tickfont.py index bf6ecc02c2..689519f931 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/_tickfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/_font.py index b024fbc111..f609564852 100644 --- a/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/scatterternary/marker/colorbar/title/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/splom/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/splom/hoverlabel/_font.py index 9af608ccfe..a4de3b5e6b 100644 --- a/packages/python/plotly/plotly/validators/splom/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/splom/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="splom.hoverlabel", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/splom/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/splom/legendgrouptitle/_font.py index 12e5d9e5f0..0778a27c67 100644 --- a/packages/python/plotly/plotly/validators/splom/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/splom/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/splom/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/splom/marker/colorbar/_tickfont.py index 07eae4527a..8e67cf664a 100644 --- a/packages/python/plotly/plotly/validators/splom/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/splom/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/splom/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/splom/marker/colorbar/title/_font.py index 4dff3a797e..2fe8f613e4 100644 --- a/packages/python/plotly/plotly/validators/splom/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/splom/marker/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/streamtube/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/streamtube/colorbar/_tickfont.py index 774d26e06c..4df707496b 100644 --- a/packages/python/plotly/plotly/validators/streamtube/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/streamtube/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/streamtube/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/streamtube/colorbar/title/_font.py index 9c08c3af13..d19e9c81be 100644 --- a/packages/python/plotly/plotly/validators/streamtube/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/streamtube/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/streamtube/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/streamtube/hoverlabel/_font.py index 964123b730..d1b009c235 100644 --- a/packages/python/plotly/plotly/validators/streamtube/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/streamtube/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/_font.py index 2f0522a531..04536700bd 100644 --- a/packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/streamtube/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/_insidetextfont.py b/packages/python/plotly/plotly/validators/sunburst/_insidetextfont.py index 594efb13e5..738ae174e9 100644 --- a/packages/python/plotly/plotly/validators/sunburst/_insidetextfont.py +++ b/packages/python/plotly/plotly/validators/sunburst/_insidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="insidetextfont", parent_name="sunburst", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/_outsidetextfont.py b/packages/python/plotly/plotly/validators/sunburst/_outsidetextfont.py index 2cf515cd4d..ce6dbcf5c4 100644 --- a/packages/python/plotly/plotly/validators/sunburst/_outsidetextfont.py +++ b/packages/python/plotly/plotly/validators/sunburst/_outsidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="outsidetextfont", parent_name="sunburst", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/_textfont.py b/packages/python/plotly/plotly/validators/sunburst/_textfont.py index 9be7b09f93..a714cf28ac 100644 --- a/packages/python/plotly/plotly/validators/sunburst/_textfont.py +++ b/packages/python/plotly/plotly/validators/sunburst/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="sunburst", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/sunburst/hoverlabel/_font.py index 94faf5def9..5ef53fd987 100644 --- a/packages/python/plotly/plotly/validators/sunburst/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/sunburst/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="sunburst.hoverlabel", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/_font.py index 8ef11fa01b..9d5e255537 100644 --- a/packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/sunburst/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_tickfont.py index 618c622b14..0cd6af182d 100644 --- a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/_font.py index 3d3e96e916..cb67eb292e 100644 --- a/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/sunburst/marker/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/surface/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/surface/colorbar/_tickfont.py index 0d0914e418..d7b2771886 100644 --- a/packages/python/plotly/plotly/validators/surface/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/surface/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/surface/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/surface/colorbar/title/_font.py index 5a212ef447..645f5975ee 100644 --- a/packages/python/plotly/plotly/validators/surface/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/surface/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/surface/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/surface/hoverlabel/_font.py index a4deed2a9a..3ea601f1d1 100644 --- a/packages/python/plotly/plotly/validators/surface/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/surface/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="surface.hoverlabel", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/surface/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/surface/legendgrouptitle/_font.py index bfa94dd7a1..33091b7e8a 100644 --- a/packages/python/plotly/plotly/validators/surface/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/surface/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/table/cells/_font.py b/packages/python/plotly/plotly/validators/table/cells/_font.py index 7aeb019ba0..d14f5db38d 100644 --- a/packages/python/plotly/plotly/validators/table/cells/_font.py +++ b/packages/python/plotly/plotly/validators/table/cells/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="table.cells", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/table/header/_font.py b/packages/python/plotly/plotly/validators/table/header/_font.py index ffd792b213..fde9095312 100644 --- a/packages/python/plotly/plotly/validators/table/header/_font.py +++ b/packages/python/plotly/plotly/validators/table/header/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="table.header", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/table/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/table/hoverlabel/_font.py index 0381271526..99629ce888 100644 --- a/packages/python/plotly/plotly/validators/table/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/table/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="table.hoverlabel", **kwargs) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/table/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/table/legendgrouptitle/_font.py index 4df40b02c2..2f14750131 100644 --- a/packages/python/plotly/plotly/validators/table/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/table/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/_insidetextfont.py b/packages/python/plotly/plotly/validators/treemap/_insidetextfont.py index 9b8413d5a6..8872224fab 100644 --- a/packages/python/plotly/plotly/validators/treemap/_insidetextfont.py +++ b/packages/python/plotly/plotly/validators/treemap/_insidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="insidetextfont", parent_name="treemap", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/_outsidetextfont.py b/packages/python/plotly/plotly/validators/treemap/_outsidetextfont.py index 90c1915e10..b51abf1eed 100644 --- a/packages/python/plotly/plotly/validators/treemap/_outsidetextfont.py +++ b/packages/python/plotly/plotly/validators/treemap/_outsidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="outsidetextfont", parent_name="treemap", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/_textfont.py b/packages/python/plotly/plotly/validators/treemap/_textfont.py index fe27de5aa3..11cfb9ae2e 100644 --- a/packages/python/plotly/plotly/validators/treemap/_textfont.py +++ b/packages/python/plotly/plotly/validators/treemap/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="treemap", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/treemap/hoverlabel/_font.py index e8cf16260a..72d9ca48de 100644 --- a/packages/python/plotly/plotly/validators/treemap/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/treemap/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="treemap.hoverlabel", **kwarg generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/treemap/legendgrouptitle/_font.py index 81223bf2b2..b3569cd234 100644 --- a/packages/python/plotly/plotly/validators/treemap/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/treemap/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_tickfont.py index 6ce4ae9a28..310740f714 100644 --- a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/_tickfont.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/_font.py index 8f622f4dd0..d985f6a07f 100644 --- a/packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/treemap/marker/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/treemap/pathbar/_textfont.py b/packages/python/plotly/plotly/validators/treemap/pathbar/_textfont.py index 495205a902..4211122707 100644 --- a/packages/python/plotly/plotly/validators/treemap/pathbar/_textfont.py +++ b/packages/python/plotly/plotly/validators/treemap/pathbar/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="treemap.pathbar", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/violin/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/violin/hoverlabel/_font.py index 035fa4efb1..8c43898037 100644 --- a/packages/python/plotly/plotly/validators/violin/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/violin/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="violin.hoverlabel", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/violin/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/violin/legendgrouptitle/_font.py index 5178e61d09..602f31327b 100644 --- a/packages/python/plotly/plotly/validators/violin/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/violin/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/volume/colorbar/_tickfont.py b/packages/python/plotly/plotly/validators/volume/colorbar/_tickfont.py index 80c7e9a4ed..ae4c8832f8 100644 --- a/packages/python/plotly/plotly/validators/volume/colorbar/_tickfont.py +++ b/packages/python/plotly/plotly/validators/volume/colorbar/_tickfont.py @@ -25,7 +25,7 @@ def __init__(self, plotly_name="tickfont", parent_name="volume.colorbar", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/volume/colorbar/title/_font.py b/packages/python/plotly/plotly/validators/volume/colorbar/title/_font.py index 3319d68a6e..106ec7fa5e 100644 --- a/packages/python/plotly/plotly/validators/volume/colorbar/title/_font.py +++ b/packages/python/plotly/plotly/validators/volume/colorbar/title/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/volume/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/volume/hoverlabel/_font.py index 58e419652c..99a69986ac 100644 --- a/packages/python/plotly/plotly/validators/volume/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/volume/hoverlabel/_font.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="font", parent_name="volume.hoverlabel", **kwargs generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/volume/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/volume/legendgrouptitle/_font.py index db18218a1b..de8ce1802a 100644 --- a/packages/python/plotly/plotly/validators/volume/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/volume/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/waterfall/_insidetextfont.py b/packages/python/plotly/plotly/validators/waterfall/_insidetextfont.py index fb674e3a33..f9642da377 100644 --- a/packages/python/plotly/plotly/validators/waterfall/_insidetextfont.py +++ b/packages/python/plotly/plotly/validators/waterfall/_insidetextfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="insidetextfont", parent_name="waterfall", **kwar generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/waterfall/_outsidetextfont.py b/packages/python/plotly/plotly/validators/waterfall/_outsidetextfont.py index ebfa9475aa..a027ab2303 100644 --- a/packages/python/plotly/plotly/validators/waterfall/_outsidetextfont.py +++ b/packages/python/plotly/plotly/validators/waterfall/_outsidetextfont.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/waterfall/_textfont.py b/packages/python/plotly/plotly/validators/waterfall/_textfont.py index a57167c2a1..8ce970c9f0 100644 --- a/packages/python/plotly/plotly/validators/waterfall/_textfont.py +++ b/packages/python/plotly/plotly/validators/waterfall/_textfont.py @@ -28,7 +28,7 @@ def __init__(self, plotly_name="textfont", parent_name="waterfall", **kwargs): generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/waterfall/hoverlabel/_font.py b/packages/python/plotly/plotly/validators/waterfall/hoverlabel/_font.py index d8c92eb399..3cee3f426c 100644 --- a/packages/python/plotly/plotly/validators/waterfall/hoverlabel/_font.py +++ b/packages/python/plotly/plotly/validators/waterfall/hoverlabel/_font.py @@ -30,7 +30,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". diff --git a/packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/_font.py b/packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/_font.py index 8cca4abc97..0f1b1962f1 100644 --- a/packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/_font.py +++ b/packages/python/plotly/plotly/validators/waterfall/legendgrouptitle/_font.py @@ -27,7 +27,7 @@ def __init__( generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", - "Courier New", "Droid Sans",, "Droid Serif", + "Courier New", "Droid Sans", "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman". From 059433f816c9d6fde328841f106eeb5385c3e319 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 18 Jul 2024 10:04:32 -0400 Subject: [PATCH 41/43] add plot subtitle example --- doc/python/figure-labels.md | 43 +++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/doc/python/figure-labels.md b/doc/python/figure-labels.md index 0e00f5e575..f687fcda1d 100644 --- a/doc/python/figure-labels.md +++ b/doc/python/figure-labels.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.16.1 + jupytext_version: 1.16.3 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.10.11 + version: 3.10.14 plotly: description: How to set the global font, title, legend-entries, and axis-titles in python. @@ -236,5 +236,44 @@ fig.update_layout( fig.show() ``` +### Adding a Plot Subtitle + +*New in 5.23* + +Add a subtitle to a plot with `layout.title.subtitle`. In the following example, we set the subtitle's `text`, and configure the `font` `color` and `size`. By default, if you don't set a font size for the subtitle, it will be `0.7` of the `title` font size. + +```python +import plotly.graph_objects as go +from plotly import data + +df = data.gapminder().query("continent == 'Europe' and (year == 1952 or year == 2002)") + +df_pivot = df.pivot(index="country", columns="year", values="lifeExp") + +fig = go.Figure( + [ + go.Bar( + x=df_pivot.index, y=df_pivot[1952], name="1952", marker_color="IndianRed" + ), + go.Bar( + x=df_pivot.index, y=df_pivot[2002], name="2002", marker_color="LightSalmon" + ), + ], + layout=dict( + title=dict( + text="Life Expectancy", + subtitle=dict( + text="Life expectancy by European country in 1952 and in 2002", + font=dict(color="gray", size=13), + ), + ) + ), +) + + +fig.show() + +``` + #### Reference See https://plotly.com/python/reference/layout/ for more information! From 44bf20cc6aa7f62330ad34f5db953c1348e82d11 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 18 Jul 2024 10:41:07 -0400 Subject: [PATCH 42/43] specify which maps require token --- packages/python/plotly/plotly/express/_doc.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/python/plotly/plotly/express/_doc.py b/packages/python/plotly/plotly/express/_doc.py index 2d423b871d..ebab116b42 100644 --- a/packages/python/plotly/plotly/express/_doc.py +++ b/packages/python/plotly/plotly/express/_doc.py @@ -533,9 +533,10 @@ ], mapbox_style=[ "str (default `'basic'`, needs Mapbox API token)", - "Identifier of base map style, some of which require a Mapbox API token to be set using `plotly.express.set_mapbox_access_token()`.", - "Allowed values which do not require a Mapbox API token are `'open-street-map'`, `'white-bg'`, `'carto-positron'`, `'carto-darkmatter'`, `'stamen-terrain'`, `'stamen-toner'`, `'stamen-watercolor'`.", - "Allowed values which do require a Mapbox API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`, `'dark'`, `'satellite'`, `'satellite-streets'`.", + "Identifier of base map style, some of which require a Mapbox or Stadia Maps API token to be set using `plotly.express.set_mapbox_access_token()`.", + "Allowed values which do not require a token are `'open-street-map'`, `'white-bg'`, `'carto-positron'`, `'carto-darkmatter'`.", + "Allowed values which require a Mapbox API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`, `'dark'`, `'satellite'`, `'satellite-streets'`.", + "Allowed values which require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-toner'`, `'stamen-watercolor'`.", ], points=[ "str or boolean (default `'outliers'`)", From e5fdd7c3e5a7cbfd7cbf935cd6609990f8034700 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 18 Jul 2024 16:04:55 -0400 Subject: [PATCH 43/43] add text annotation example --- doc/python/text-and-annotations.md | 84 +++++++++++++++++++++++------- 1 file changed, 66 insertions(+), 18 deletions(-) diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md index e841455e41..bf973817b5 100644 --- a/doc/python/text-and-annotations.md +++ b/doc/python/text-and-annotations.md @@ -6,7 +6,7 @@ jupyter: extension: .md format_name: markdown format_version: '1.3' - jupytext_version: 1.16.2 + jupytext_version: 1.16.3 kernelspec: display_name: Python 3 (ipykernel) language: python @@ -20,7 +20,7 @@ jupyter: name: python nbconvert_exporter: python pygments_lexer: ipython3 - version: 3.10.0 + version: 3.10.14 plotly: description: How to add text labels and annotations to plots in python. display_as: file_settings @@ -131,7 +131,7 @@ Here is a bar chart with the default behavior which will scale down text to fit. import plotly.express as px df = px.data.gapminder(year=2007) -fig = px.bar(df, x='continent', y='pop', color="lifeExp", text='country', +fig = px.bar(df, x='continent', y='pop', color="lifeExp", text='country', title="Default behavior: some text is tiny") fig.update_traces(textposition='inside') fig.show() @@ -143,7 +143,7 @@ Here is the same figure with uniform text applied: the text for all bars is the import plotly.express as px df = px.data.gapminder(year=2007) -fig = px.bar(df, x='continent', y='pop', color="lifeExp", text='country', +fig = px.bar(df, x='continent', y='pop', color="lifeExp", text='country', title="Uniform Text: min size is 8, hidden if can't fit") fig.update_traces(textposition='inside') fig.update_layout(uniformtext_minsize=8, uniformtext_mode='hide') @@ -448,7 +448,7 @@ fig.show() ## Text Case -**New in 5.23** +*New in 5.23* You can configure text case using the `textfont.textcase` property. In this example, we set `textfont.textcase="upper"` to transform the text on all bars to uppercase. @@ -462,17 +462,17 @@ grouped = df[df.year == 2007].loc[df[df.year == 2007].groupby('continent')['life fig = go.Figure( data=go.Bar( - x=grouped['lifeExp'], - y=grouped['continent'], + x=grouped['lifeExp'], + y=grouped['continent'], text=grouped['country'], orientation='h', textfont=dict( family="sans serif", size=14, - # Here we set textcase to "upper. + # Here we set textcase to "upper. # Set to lower" for lowercase text, or "word caps" to capitalize the first letter of each word textcase="upper" - + ) ), layout=go.Layout( @@ -486,9 +486,9 @@ fig.show() ## Text Lines -**New in 5.23** +*New in 5.23* -You can add decoration lines to text using the `textfont.lineposition` property. This property accepts `"under"`, `"over"`, and `"through"`, or a combination of these separated by a `+`. +You can add decoration lines to text using the `textfont.lineposition` property. This property accepts `"under"`, `"over"`, and `"through"`, or a combination of these separated by a `+`. ```python import plotly.graph_objects as go @@ -500,12 +500,12 @@ grouped = df[df.year == 2002].loc[df[df.year == 2002].groupby('continent')['life fig = go.Figure( data=go.Bar( - x=grouped['lifeExp'], - y=grouped['continent'], + x=grouped['lifeExp'], + y=grouped['continent'], text=grouped['country'], orientation='h', - marker_color='MediumSlateBlue', - textfont=dict( + marker_color='MediumSlateBlue', + textfont=dict( lineposition="under" # combine different line positions with a "+" to add more than one: "under+over" ) ), @@ -520,7 +520,7 @@ fig.show() ## Text Shadow -**New in 5.23** +*New in 5.23* You can apply a shadow effect to text using the `textfont.shadow` property. This property accepts shadow specifications in the same format as the [text-shadow CSS property](https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow). @@ -534,8 +534,8 @@ grouped = df[df.year == 1997].loc[df[df.year == 1997].groupby('continent')['life fig = go.Figure( data=go.Bar( - x=grouped['lifeExp'], - y=grouped['continent'], + x=grouped['lifeExp'], + y=grouped['continent'], text=grouped['country'], orientation='h', textfont=dict( @@ -653,6 +653,54 @@ fig.update_layout( fig.show() ``` +### HTML Tags in Text + +The `text` attribute supports the following HTML tags: `
`,``,``, ``, `` and ``. +In version 5.23 and later, `` and ``are also supported. + +```python +import plotly.graph_objects as go + +fig = go.Figure( + data=[ + go.Scatter( + x=[0, 1, 2, 3, 4, 5, 6, 7, 8], + y=[0, 1, 3, 2, 4, 3, 4, 6, 5], + mode="lines+markers", + name="Series 1", + ), + go.Scatter( + x=[0, 1, 2, 3, 4, 5, 6, 7, 8], + y=[0, 4, 5, 1, 2, 2, 3, 4, 2], + mode="lines+markers", + name="Series 2", + ), + ], + layout=go.Layout( + annotations=[ + dict( + x=2, + y=5, + text="Text annotation using bolded text, italicized text, underlined text,
and a new line", + showarrow=True, + arrowhead=1, + ), + dict( + x=4, + y=4, + text="Text annotation with
a link.", + showarrow=False, + yshift=10, + ), + ], + showlegend=False, + ), +) + +fig.show() + +``` + ### Positioning Text Annotations Absolutely By default, text annotations have `xref` and `yref` set to `"x"` and `"y"`, respectively, meaning that their x/y coordinates are with respect to the axes of the plot. This means that panning the plot will cause the annotations to move. Setting `xref` and/or `yref` to `"paper"` will cause the `x` and `y` attributes to be interpreted in [paper coordinates](/python/figure-structure/#positioning-with-paper-container-coordinates-or-axis-domain-coordinates).